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
No comments:
Post a Comment