#!/bin/sh hgcommit() { hg commit -u user -d '0 0' "$@" } hg init clhead cd clhead touch foo && hg add && hgcommit -m 'foo' touch bar && hg add && hgcommit -m 'bar' touch baz && hg add && hgcommit -m 'baz' echo "flub" > foo hgcommit -m "flub" echo "nub" > foo hgcommit -m "nub" hg up -C 2 echo "c1" > c1 hg add c1 hgcommit -m "c1" echo "c2" > c1 hgcommit -m "c2" hg up -C 2 echo "d1" > d1 hg add d1 hgcommit -m "d1" echo "d2" > d1 hgcommit -m "d2" hg tag -l good echo '% fail with three heads' hg up -C good hg merge echo '% close one of the heads' hg up -C 6 hgcommit -m 'close this head' --close-branch echo '% succeed with two open heads' hg up -C good hg up -C good hg merge hgcommit -m 'merged heads'