Ben Collins-Sussman wrote:
> Honestly, if the tag keeps changing all the time, then it's not really
> much of a tag, is it? It's more of a branch.
> It sounds like Stephen should be using 3 branches and porting changes
> between them. Then when he needs to make a 1-time snapshot (i.e. to
> remember something that got delivered to a customer), he can copy the
> production branch to a tag.
Hmm... I guess this could go several ways.
When I used CVS we also used "moving tags" to indicate things like
"Integration Tested", or "Current Daily Build" or things like that...
Using branches and merging between them is kindof painful especially if
it is to be done from a script. Especially because the script needs to
keep track of merge history to avoid repeated merges.
Also, whereas removing and recreating a tag is a constant-time and
constant-size operation, merging changes from trunk to a branch can
possibly explode the repository size, if the changes are large, and
there are several of such tags, right?
In fact, we currently have a $repos/tags/merge directory as a sort of
poor-man's solution to the repeated merge problem. Here we keep tags
indicating exactly what version of e.g. maintenance branch
$repos/branches/RELEASE_X is fully merged to trunk. So
$repos/tags/merge/RELEASE_X.to.trunk holds exactly this merge history,
instead of requiring some sort of comment convention. (And then we later
use "svn log -v --stop-on-copy $repos/tags/merge/RELEASE_X.to.trunk" to
find the version of RELEASE_X that has been fully merged. This is
automated by svnbranchroot:
Then we know that
# svn merge -r \
`svnbranchroot $repos/tags/merge/RELEASE_X.to.trunk`:HEAD \
is what potentially (!) needs to be merged next.
I personally think that moving or "rolling" tags has merrit. Especially
if the tags change often, and no work has to be done "inside" them.
(I've just seen that Mr. Appleton has answered here too. Well, OK,
differing opinions are fine, I guess... ;-D)
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org
Received on Thu Jan 13 17:27:52 2005