Ticket #103 (closed defect: fixed)

Opened 2 years ago

Last modified 2 years ago

hg doesn't honor requested version

Reported by: warner Owned by: warner
Priority: major Milestone: 0.7.7
Version: 0.7.5 Keywords: mercurial
Cc:

Description

The Mercurial step is not yet capable of building anything other than HEAD (aka 'tip' in hg parlance).

To fix this, we need to pieces of code:

  • the back-end hg step needs to accept a revision argument, and use it during 'clone' and 'pull'.
  • the front-end buildbot.steps.source.Mercurial step needs to take the list of changes it's been given and decide upon a revision to grab. When there's only one change, it's easy. When there are more than one, we have a problem, because the hex revision identifiers that hg uses aren't strictly sortable (at least not without known their ancestry, and that would involve the buildbot knowing a lot more about the hg tree than it currently does).

I'm looking for a quick partial fix and a better longer-term fix. The quick partial one will be to implement the backend change (so 'force build' will work correctly), and implement a computeSourceRevision() that only pays attention to the last change it sees. In most cases this should work correctly.

Change History

Changed 2 years ago by warner

ah, the backend was already in place. I added the short-term fix in [98b5c514517f426a291f1b504d28dc38f47d6432]. It still needs test coverage.

Changed 2 years ago by warner

  • status changed from new to assigned
  • milestone changed from 0.7.6 to 0.7.7

Changed 2 years ago by warner

oops, this short-term fix actually breaks hg checkouts entirely, and the unit tests didn't catch it. See #122 for details.

Changed 2 years ago by warner

  • status changed from assigned to closed
  • resolution set to fixed

The long-term fix is in place, in [2ff59a053cb6ab28c7f11797859ed2f37e890f57], and there is now test coverage.

Note: See TracTickets for help on using tickets.