[Buildbot-devel] Questions on source step's clobbering
Marcus Lindblom
macke at yar.nu
Mon Jan 5 11:04:09 UTC 2009
Axel Hecht wrote:
> I'd recommend doing the following:
>
> hg pull (1)
> hg update -C -r branch (default to default)
> patch.
>
> (1) Note, hg versions prior to 1.1 may run into race conditions on pull.
> hg pull -r tip works around the race condition, but doesn't pull all
> heads on all branches. In this particular case, you might be able to
> actually pull -r given_branch. For branches, that should work, for tags
> not, though. The pulled clone by revision doesn't have the changeset
> which actually adds the tag to hgtags, so the remote clone is on the
> right revision, but doesn't have the tag information to confirm that.
> One way to work around this is to actually pull the branch, and update
> to revision on that branch. That should work at least as long as there
> is only one head per branch. It might be a good idea to get the hg
> version on the slave to only jump through these loops for versions older
> than 1.1. Or you make the source class just clobber on error, that might
> be a good idea anyhow.
For clobbering, I just noticed the purge extension:
http://www.selenic.com/mercurial/wiki/index.cgi/PurgeExtension
How about using that instead of clearing out stuff and doing a new pull?
It should reduce repo-load quite a bit, if it works properly. (We could
still fallback to clobber afterwards.)
I'll try to keep this in mind. I'll put up a ticket on it so it doesn't
get forgotten.
Cheers
/Marcus
More information about the devel
mailing list