Date: Sun, 24 Sep 2000 11:23:56 GMT From: Salvo Bartolotta <bartequi@inwind.it> To: Brooks Davis <brooks@one-eyed-alien.net> Cc: Andre Goeree <abgoeree@uwnet.nl>, freebsd-stable@FreeBSD.ORG Subject: Re: FAQ's (was: Makeworld is dying...) Message-ID: <20000924.11235600@bartequi.ottodomain.org> References: <39C42DF4.978A63C@urx.com> <Pine.LNX.4.10.10009170918240.13465-100000@shark.harmonic.co.il> <20000917160006.D67912@wantadilla.lemis.com> <20000918154418.P8111@moose.bri.hp.com> <20000924095410.A65590@wantadilla.lemis.com> <20000924092354.A473@freebee.attica.home> <20000924003413.A2018@Odin.AC.HMC.Edu>
next in thread | previous in thread | raw e-mail | index | archive | help
>>>>>>>>>>>>>>>>>> Original Message <<<<<<<<<<<<<<<<<< On 9/24/00, 8:34:13 AM, Brooks Davis <brooks@one-eyed-alien.net> wrote regarding Re: FAQ's (was: Makeworld is dying...): > On Sun, Sep 24, 2000 at 09:23:54AM +0000, Andre Goeree wrote: > > I think a lot of people start cvsuppin' without checking out > > their source tree against the known version of code they have. > > ie. if you have 4.0-R, cvsup with tag RELENG_4_0_0_RELEASE once > > and then track RELENG_4. > > > > Omitting this step could lead to (if you cvsup from 4.0-R for exampl= e) > > a lot of inconsistencies, stale files that should have been > > deleted, etc in the source tree which could cause problems > > in (future) buildworlds. Ok, i'm not an expert but that's my > > personal experience.. > > > > Unfortunately a lot of people (including me) only start reading > > the FAQ's when they get in trouble.. so a hint (ie. read this first.= .) > > in the right place could prevent this kind of trouble. > > > > Then again, i could be totally wrong about this, i'm no expert. > This is just plain wrong. If you can actually duplicate this problem > I'm sure John Polstra (jdp@FreeBSD.org) would love to hear about it, > but that's certaintly not the way CVSup or CVS is supposed to work. > There's really nothing special about RELENG_4_0_0_RELEASE vs RELENG_4 > since RELENG_4_0_0_RELEASE is just a snapshot in time on the RELENG_4 > branch. > -- Brooks Dear Brooks Davis, At http://www.polstra.com/projects/freeware/CVSup/faq.html#adopt, John Polstra explicitly states: <blockquote> 12.But you said above that CVSup won't delete any files if I don't have a checkouts file. If I adopt my existing files as you describe, don't I run a risk that some files which should be deleted won't be deleted? Yes, you do. The greater the distance between the revisions you have and the revisions you want to get, the greater the chance that you'll miss some important file deletions. Luckily, if you know approximately or exactly which versions of the files you are starting with, you can reduce or eliminate this risk. You do this by updating twice. First, you tell CVSup to "update" you to the versions that you already have. This won't change any of your files, but it will create a checkouts file that precisely reflects what you have currently. Second, you update again, this time telling CVSup which version you really want. On the second update, CVSup will have all the information it needs in order to know which files to delete. This is a little tricky and there are a couple of important details we haven't mentioned yet. So we'd better give you an example. Suppose you installed FreeBSD-2.2.5, including sources, from the CD-ROM. Now you decide you want to use CVSup to track the 2.2-stable sources. For your first update only, use a cvsupfile like this: *default host=3Dcvsup2.freebsd.org *default base=3D/usr *default prefix=3D/usr *default release=3Dcvs *default delete use-rel-suffix src-all tag=3DRELENG_2_2_5_RELEASE list=3Dcvs:RELENG_2_2 For subsequent updates, change the last line to: src-all tag=3DRELENG_2_2 The unmentioned details are in this last line. First of all, how do you know what to use for the tag? The answer is, you have to consult a list. See the "Configuration" section of the CVSup chapter in the FreeBSD Handbook for a list of tags that are valid for the FreeBSD sources. The important point is that the tag for your first update should correspond to the version of the sources that you already have. And the tag for your second and subsequent updates should correspond to the version of the sources that you want to receive. Second, what is this business with the "list" keyword? It is rarely used, but this is a situation where it is necessary. When CVSup creates or consults one of its checkouts files, it uses a filename which by default is based on the "release" and "tag" values for the collection. Specifically, the usual name of a checkouts file is "checkouts.RELEASE:TAG", where RELEASE and TAG are the "release" and "tag" settings in your cvsupfile. In the rather special situation we are addressing here, the naming conventions for the checkouts files cause a problem. By default, our first update would produce a file named "checkouts.cvs:RELENG_2_2_5_RELEASE", while the second update would look for a file named "checkouts.cvs:RELENG_2_2". In order for the second update to benefit from the information garnered in the first, both updates must use the same checkouts file. The "list" specification in the first cvsupfile allows us to accomplish this. It overrides the default suffix in the name of the checkouts file, and forces it to have the same name as will be used in subsequent updates. Admittedly, this is arcane. But you only have to do it once. </blockquote> Ibidem, sub 36),37),38), the checkouts file are taken into consideration. In particular, at http://www.polstra.com/projects/freeware/CVSup/faq.html#extrafiles, it is expressly stated: <blockquote> 39.Is there anything at all that can go wrong if I lose a checkouts file? There is just one thing that can go wrong, and it's not very serious. CVSup will only delete files that are listed in its checkouts file. Thus if you lose your checkouts file, and then a file "foo" is deleted on the server host, and then you run CVSup, your file "foo" will not be deleted. Files are never supposed to be deleted from a CVS repository, so this isn't much of a problem in real life. But to be safe, you should run CVSup sooner rather than later, if you find that you've lost a checkouts file. </blockquote> The above-mentioned FAQ is dated August 29, 2000. Cvsup(1), on the other hand, seems to attach less significance to the "list" (ie checkouts) file. Cvsup(1) is dated August 31, 1999. Tertium non datur ... The fact that **usually** you do not have problems does not imply that you are immune to them: {unfortunate,unwelcome, unlikely} file deletions may actually occur. Am I missing something ? N.B. Andre Goeree's difficulties may bear no relation to the above discussion; here I have only considered the proper use of csvup **per se**. Best regards, Salvo 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?20000924.11235600>