[Buildbot-devel] Questions on source step's clobbering

Marcus Lindblom macke at yar.nu
Wed Dec 31 00:46:51 UTC 2008


Axel Hecht wrote:
> I'd recommend doing the following:
> 
> hg pull (1)
> hg update -C -r branch (default to default)
> patch.

That's what I'm working on.

I've gotten it to work for testCheckoutBranch by using hg identify --num 
--branch and checking for -1 or the branch name.

> (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.

Argh. I've read about that and I still got a headache from trying to 
understand it. I think I'll wait a bit. Perhaps you could take a look at 
  my patch once I'm done with it and see what needs doing?

Also I don't have a lot of hg versions set up for testing at the moment. 
It might be worth to try that, to make sure we're compatible. What 
versions are best tested? 1.0 and 1.1 are no-brainers, but otherwise?

There seem to be a lot of them lying around, when looking at the 
buildbot source, testing for all those (6-10 version) seem like an awful 
lot of work. :-/

Should we set up buildbot.net buildslaves for this?

Cheers
/Marcus




More information about the devel mailing list