[cvsnt] No need to tag the entire repository and waste all that spacetime

Chuck Kirschman Chuck.Kirschman at bentley.com
Sat Jul 24 20:47:22 BST 2004


This seems like it will work for small projects.  For larger products I
think tags are necessary to know exactly which files are part of your
build.  After getting a set of source, you may need to take a couple of
additional files for the release, but may not take others checked in
during the same time period.  Issues arise where you need a build plus 2
files several weeks after the original build.  You can put on a branch
tag, or put on a static tag; either way you're tagging the whole source
tree.  And there isn't a good way (maybe there is in the latest cvsNT)
to get a branch to a date.  Furthermore, an international project will
have to worry about what local time is to be used for checkout.  Tagging
the entire source tree has a lot of very important benefits.

But that's the great thing about CVS - use whatever works for you.  For
us, the fairly small amount of space relative to source code and the
time spent tagging are minimal costs compared to being able to exactly
reproduce a build.  

chuck

-----Original Message-----
From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org] On Behalf
Of Victor A. Wagner Jr.
Sent: Friday, July 23, 2004 11:52 PM
To: cvsnt at cvsnt.org
Subject: [cvsnt] No need to tag the entire repository and waste all that
spacetime


Although I can think of no  real reason to tag the entire repository, it

seems to me that in addition to taking a fair amount of time, it's going
to 
add a fair amount of space to the repository.

It seems to me that the effect people would be looking for is to restore

some sandbox to the state of the entire repository at some unlikely time
in 
the future (or are there people who keep only _one_ project per
repository?).

Since all a tag does is create a synonym (in _each_ file (the space part
of 
the spacetime mentioned in the subject)) for some (generally the
current) 
revision, it's clear that any process that's going to "mark" each file
will 
take significant time.

I suspect that administrators would really prefer a way to mark the 
repository as it is "right now".

That being the case, why not simply record the date/time with the "name"

you want to give to the 'tag' someplace, and timestamp it.  Last I
checked, 
one could do checkouts and updates using a datetime as an argument.  Yes
it 
would be a two step process to "get" all the relevant files from the 
repository, but the "tagging" would take the time of doing a commit on a

single file (if you put your "tag name" in the file before committing
it.

Alternatively, in case you're _really, really_ in love with tags, you
could 
force some file to commit (using the -f option) then rtag _it_.  I'd 
suggest using one of the files that exists in the CVSROOT if you're
going 
to do such a stunt (it likely is changeable only by admins already).

surely it would be rather easy to put together a small script that will
do 
either the "tagging" or the two steps necessary to update/checkout.


Victor A. Wagner Jr.      http://rudbek.com
The five most dangerous words in the English language:
               "There oughta be a law" 

_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt



More information about the cvsnt mailing list