Actually, by having these be separate changesets, if you ask for the
tag "ea" you get a repository that includes the "jdk7-b98" tag but not
the changeset that creates the "ea" tag.
Making them in one changeset means the same sources, but no changeset
identifying it as jdk7-b98 or ea.

Also, 'hg tag -f' was used to force the replacement of any older tags
with the same name that might exist. Not sure your script deal with that.

Not sure it matters a great deal either way.

-kto


John Coomes wrote:
[EMAIL PROTECTED] ([EMAIL PROTECTED]) wrote:
Changeset: 38b77760d8e2
Author:    xdono
Date:      2007-11-15 17:12 -0800
URL:       http://hg.openjdk.java.net/jdk7/MASTER/hotspot/rev/38b77760d8e2

Added tag jdk7-b98 for changeset 280051e520a0

+ .hgtags

Changeset: de9a59a5e8da
Author:    xdono
Date:      2007-11-15 17:21 -0800
URL:       http://hg.openjdk.java.net/jdk7/MASTER/hotspot/rev/de9a59a5e8da

Added tag ea for changeset 38b77760d8e2

! .hgtags

In this case, the tags represent the same thing, but they refer to
different changesets.  Seems like they should refer to the same
changeset.  In addition, you get two changesets instead of one for a
trivial operation.

Unfortunately, "hg tag" only allows one tag to be created per
invocation.  (Seems ripe for a fix, but I'm currently
python-illiterate.)  So for now I think this should be done by
updating .hgtags directly.  Here's a script that does the basics; it
needs error checking and polish, but you get the idea.

        #!/bin/ksh
        hg_short=`hg log -l 1 --template "{node|short}"`
        hg_node=`hg log -r $hg_short --template "{node}"`
        for tag
        do
                echo $hg_node "$tag"
        done >> .hgtags
        hg commit -m "Added tags $* for changeset $hg_short"

-John

Reply via email to