[Buildbot-commits] [Buildbot] #438: Mercurial does not update to the right revision when building a tag from a named branch

Buildbot trac trac at buildbot.net
Sun Sep 15 00:08:10 UTC 2013


#438: Mercurial does not update to the right revision when building a tag from a
named branch
----------------------+-----------------------
Reporter:  cdevienne  |       Owner:  Callek
    Type:  defect     |      Status:  assigned
Priority:  major      |   Milestone:  0.8.+
 Version:  0.8.5      |  Resolution:
Keywords:  hg         |
----------------------+-----------------------

Old description:

> This morning I ran into a very big issue with the way buildbot do a
> Mercurial checkout.
>
> Here is the context :
>
> * The repository contains a named branch
>
> * A tag has been set on a revision of that branch
>
> * From the buildbot web ui, we force a build with the tag as the revision
>
> * buildbot do a "hg clone --rev THETAG <url>"
>
> * The actual current changeset of the clone after checking out is NOT the
> revision corresponding to the tag. Instead it update to the latest
> revision that is on the "default" branch.
>
> In the end the build is not done on the correct revision.
>
> I suggest not to rely on the "clone --rev" but rather do a "pull"
> followed by a "update -r". Additional reasons for that :
>
> * It will be way faster for big repositories (ours is ~130M).
>
> * When using clone --rev, the tag is "lost" because the .hgtags file is
> set in a later changeset than the tagged changeset.
>

> Note that I have reproduced the issue with buildbot 0.7.9 and 0.7.10, and
> Mercurial 1.0.1 and 1.1.2

New description:

 This morning I ran into a very big issue with the way buildbot do a
 Mercurial checkout.

 Here is the context :

 * The repository contains a named branch

 * A tag has been set on a revision of that branch

 * From the buildbot web ui, we force a build with the tag as the revision

 * buildbot do a "hg clone --rev THETAG <url>"

 * The actual current changeset of the clone after checking out is NOT the
 revision corresponding to the tag. Instead it update to the latest
 revision that is on the "default" branch.

 In the end the build is not done on the correct revision.

 I suggest not to rely on the "clone --rev" but rather do a "pull" followed
 by a "update -r". Additional reasons for that :

 * It will be way faster for big repositories (ours is ~130M).

 * When using clone --rev, the tag is "lost" because the .hgtags file is
 set in a later changeset than the tagged changeset.


 Note that I have reproduced the issue with buildbot 0.7.9 and 0.7.10, and
 Mercurial 1.0.1 and 1.1.2

--

Comment (by dustin):

 I don't think it's an optimization, here -- what's the slow, effective
 way?  Apologies if I've forgotten much of the context here!

-- 
Ticket URL: <http://trac.buildbot.net/ticket/438#comment:13>
Buildbot <http://buildbot.net/>
Buildbot: build/test automation


More information about the Commits mailing list