Skip site navigation (1)Skip section navigation (2)
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>