From mboxrd@z Thu Jan 1 00:00:00 1970 From: Craig Burley To: law@cygnus.com Cc: oliva@dcc.unicamp.br, pfeifer@dbai.tuwien.ac.at, egcs@cygnus.com Subject: Re: Inconsistance in snapshots repository Date: Thu, 16 Apr 1998 23:59:00 -0000 Message-id: <199804162331.TAA25018@melange.gnu.org> References: <28165.892665155@hurl.cygnus.com> X-SW-Source: 1998-04/msg00671.html > > BTW, would it be possible to have a ``moving tag'' called > > `egcs_latest_snapshot', updated whenever a snapshot is released? >This is an excellent idea. The only trick is to coordinate it with >the actual "release" of a snapshot. I'm CVS-unaware, but, generally, is this really guaranteed to provide a coherent snapshot to anyone, anytime, including if they try using it while a snapshot is being produced (and the "moving tag" updated)? That is, is whatever procedure people normally use to obtain a snapshot via CVS guaranteed to obtain either all the files for snapshot N *or* all the files for P, but never a mix, if, partway through said obtaining, snapshot N is "replaced" as the "latest" with snapshot P? (E.g. I could think of this moving tag idea as perhaps a symbolic link to a directory containing a snapshot in a non-CVS universe. Whenver a new snapshot is made, after its directory is fully populated and coherent, the symbolic link is simply updated. That works fine for simple uses like "cd .../symbolic-link; cp -a * ...", because cd'ing to a symbolic link really cd's to the directory it points to, at least in most cases; it's not just an updating of some environment symbol. But, in effect, it *might* be if the target directory is mounted by NFS. Further, if the procedure is more complicated, e.g. "cp -a .../symbolic-link/file-a ...; cp -a .../symbolic-link/file-b ...; cp -a .../symbolic-link/file-c ...", then a change to the symbolic link *can* affect the procedure midstream.) If the answer to the above is not definitely "yes, it's always guaranteed", then I think it's best to set up whatever means is appropriate to *designate* a given snapshot as the "latest" and encourage everyone to use procedures that obtain that designation only *once* per snapshot-grab. In essence, copy that designation to a local temporary variable that is thus guaranteed to not change while the snapshot is obtained (using that same temporary variable to specify the stuff being obtained). tq vm, (burley)