At Sun, 6 Dec 2009 19:49:29 +0000, David Holland <dholland-tech%netbsd.org@localhost> wrote: Subject: Re: git copies of cvs modules available > > On Sat, Nov 07, 2009 at 11:37:55AM -0500, Greg A. Woods wrote: > > For example with src/games/hunt/Makefile there's some really bizarre > > confusion w.r.t. the vendor branch -- it is in an impossible state. > > (revision 1.1 and revision 1.1.1.1 MUST always be identical!) > > This is not true. The state of hunt/Makefile is what you get if you > cvs add and commit version 1.1, and then later on do a cvs import of > the same file You are not supposed to do that kind of thing with CVS though -- at least not so long as you expect things to continue to work "properly". CVS "vendor branch" directories are very tricky in their subtle details. I.e. when I stated that rev. 1.1 and rev. 1.1.1.1 "MUST" always be identical I was stating a condition that's required for correct behaviour of CVS for some operations. Sure, you can create that mess with CVS (perhaps if you do things backwards, as you suggest they were done) but the result you get is not going to be usable in all of the ways you might expect it to be. Furthermore the merge after import is _necessary_ if there have ever been any local commits to any files -- an import without a merge is unfinished and leaves the entire module in a poorly defined state. That's just the beginning of how things can go wrong in vendor branched modules. The problems that have been observed and reported with converting the CVS repository to Git (or whatever) are directly a result of this kind of mess and others like it. Luckily Git and similar DVCS's can more easily and naturally deal with managing local changes on remote branches, so perhaps if a decision is eventually made to fully and finally convert the NetBSD CVS repository into Git form or something similar then these vendor-branch messes in the current NetBSD repository can be undone and fixed in a way that will more properly reflect the way the changes were intended to be made and managed. Sadly this may have to be a mostly manual process because there are many sub-directories with vendor branches which are not proper CVS modules in NetBSD's repository. -- Greg A. Woods Planix, Inc. <woods%planix.com@localhost> +1 416 218 0099 http://www.planix.com/
Attachment:
pgpKEQtm1WrTj.pgp
Description: PGP signature