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