Slime project considering Mercurial

Giorgos Keramidas keramida at
Fri Mar 7 12:11:10 CST 2008

On 2008-03-07 13:04, Paul Franz <theandromedan at> wrote:
> Kinda. The current process is based-on ClearCase. And one of the things the
> ClearCase enforces is that when you commit a change to the repository:
> 1) It must be the HEAD/tip of the branch. If it is not, then you need
> to merge your changes to the HEAD/tip, resolve any conflicts and then
> commit
> 2) There is no gatekeeper. The developers are responsible for running
> tests and making sure things do not break. If they do break things, it
> will be noticed on the first build after the checkins (there are
> builds once a day that take 6 hours to run) then the offending person
> will be contacted and told to fix the problem.
> This is process that I want to keep in place for the moment.

You can enforce a 'linear' history like this with Mercurial too.  It may
require a bit of extra work for the developers who commit stuff, or you
may have to use extensions like Transplant, MQ or similar (to `rebase'
local patches before committing them to the remote tree).

The easiest part of them all is to enforce a single "head" in each
branch.  You can make the repository accessible only through SSH, and
install a commit hook which aborts changesets which create more "heads".

More information about the Mercurial mailing list