Date: Mon, 8 Jun 1998 11:35:00 -0400 (EDT) From: woods@zeus.leitch.com (Greg A. Woods) To: freebsd-stable@FreeBSD.ORG Subject: Re: cvsuping the cvs tree Message-ID: <199806081535.LAA16073@brain.zeus.leitch.com> In-Reply-To: Robert Watson's message of "Sun, June 7, 1998 10:13:26 -0400" regarding "cvsuping the cvs tree" id <Pine.BSF.3.96.980607095952.8635A-100000@fledge.watson.org> References: <Pine.BSF.3.96.980607095952.8635A-100000@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[ On Sun, June 7, 1998 at 10:13:26 (-0400), Robert Watson wrote: ] > Subject: cvsuping the cvs tree > > I'm about to begin a fairly substantial set of changes to a -stable kernel > to introduce authentication/authorization token handling support. > However, I would like to continue tracking the -stable branch to catch bug > fixes, new features, etc as they become available. Ideally, I'd also like > to use the merge support in CVS to do this. What is the best way to do > this on my local machine? Is anon CVS access sufficient to do cvs updates > and checkouts, etc, for the merging? Can cvsup do this without zapping my > source changes? :-) The only really sure way to do this is to use the CVS vendor-branch suppprt. You'll need to create a local CVS repository. Into that you should import "releases" of FreeBSD. From there you can check out a working directory and introduce your changes to that local copy. From then on when you import new FreeBSD releases CVS will be able to assist you in merging your changes with the new release code. You cannot do this with the CVSup'ed repository alone, at least not if you ever want to check in your own changes. The only thing the CVSup'ed repo is really good for is looking at log messages and diffs, and for 'cvs export'ing your own local copy. There are a couple of tricks here, of course. The first trick is in defining what "releases" are for your purposes. You could simply revert to using only official CVS releases and giving up on daily tracking of -stable. Or you could go as far as to do a daily 'cvs export' from the FreeBSD repository and 'cvs import' the result daily to your local repository. To date we've usually tried to pick points on the -stable branch that either appear to be really stable, or correspond closely to that point just after a true release when the release's most apparent bugs are fixed. The second trick is that "cvs import" will not "cvs remove" files that have been removed in the source release. You must do this yourself. It's not hard but it requires finding that list of removed files and running "cvs rm" and "cvs commit" with it (after confirming that there are no conflicts resulting from your own local changes). I have a simple script under development that does the mechanics of this for you. Send me e-mail if you would like to try a copy. Of course this whole process requires a fair bit of disk space. If you want to make your own "releases" of your locally hacked code (eg. to build a CD or to do installs from), then you'll need even more disk space. We currently have almost 2GB used in our /cvs (with both the CVSup'ed repositories, and our local copy, plus a spare backup copy), and have used up to 4GB doing builds and releases at any one time. You may also want several machines to do the actual builds and run tests on. -- Greg A. Woods +1 416 443-1734 VE3TCP <gwoods@acm.org> <robohack!woods> Planix, Inc. <woods@planix.com>; Secrets of the Weird <woods@weird.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199806081535.LAA16073>