On Mon, Jul 22, 2019 at 05:48:13PM +0200, Ingo Schwarze wrote:
> Avstin Kim wrote on Mon, Jul 22, 2019 at 10:58:50AM -0400:
> 
> > CVS for source code management.
> 
> That's kind of a frequently asked question.
> 
> Some of us (including myself) actually prefer CVS over git for tasks
> where it is suffiecient because KISS.
> 
> Other developers prefer git for various reasons.
> 
> > I am curious why the Project continues to use CVS
> 
> The most important reasons are:
> 
>  (1) Switching from CVS to git is extremely hard.  Even with the
>      best tools available, and even when you improve them further,
>      it is hard, almost impossible, to avoid destroying part of the
>      history during the conversion of the repository.  OpenBSD
>      values correctness very highly, and it also highly values the
>      abilty to audit code, including forensic auditing of code
>      history to determine, once bugs are found, how they were able
>      to happen.  So correctness and completeness of history matters.
> 
>  (2) Git is fragile and easy to misuse with surprising consequences.
>      Well, admittedly, some aspects of CVS are also fragile, but
>      the number of traps is smaller and developers are already
>      used to the quirks of CVS, while the more numerous quirks
>      of git would likely cause surprise and disruption.
> 
>  (3) Not all developers are convinced switching is even desirable,
>      and never change a system that is working well unless there
>      are strong reasons to change it.  I admit, though, that for
>      very large commits, in particular for Perl updates and for
>      sweeping infrastructure changes in the ports tree, there
>      would be undeniable benefits from switching to git.
> 
>  (4) Almost all developers prefer working on actual quality and
>      functionality of the system over spending time and effort on
>      infrastructure around it, unless the latter is really
>      important to make progress with the former.
> 
> > if developers have in the past considered migrating the codebase
> > to a distributed SCM system
> 
> You can safely bet that they did.
> 
> Actually, switching to git has been considered very seriously
> multiple times in the past and may or may not happen one day.
> 
> However, it requires rewriting git from scratch because the reference
> implementation of git is not free software.  It comes infected with
> a viral license.
> 
> That's another reason why switching implies a large effort and an
> inevitable distraction from other, arguably more important OpenBSD
> development.
> 
> Admittedly, the implementation of CVS we currently use isn't free
> software either, it's GPLv1.  But we do not introduce any new
> non-free software into the tree if there is any way to avoid that.
> 
> > Mercurial
> 
> Not free software either (same viral license), never used it
> personally, and never heard any developer propose it.

Mercurial would require python in base and maybe someday it will require
also Rust.

https://www.mercurial-scm.org/wiki/OxidationPlan

> 
> > make branching and merging easier on developers,
> 
> Branching and merging ist strictly prohibited in the OpenBSD
> repository.  Our development process simply neither needs nor allows
> use of these features (except in a trivial way for -stable branches,
> which novice developers never work on in the first place), so that's
> not an argument at all.
> 
> Yours,
>   Ingo
> 
> P.S.
> Regarding what Raul Miller said:
> Git does not require a particular development process but can support
> a wide variety of different processes.  In particular, you can
> require review of patches before push, and you can ban sending out
> patchsets and require individual OKs for each indivual patch.  So
> what you said does not qualify an an argument against using git.
> 

-- 
Juan Francisco Cantero Hurtado http://juanfra.info

Reply via email to