summaryrefslogtreecommitdiff
path: root/tests/test-merge-closedheads.t
diff options
context:
space:
mode:
authorLorry <lorry@roadtrain.codethink.co.uk>2012-08-22 14:49:51 +0100
committerLorry <lorry@roadtrain.codethink.co.uk>2012-08-22 14:49:51 +0100
commita498da43c7fdb9f24b73680c02a4a3588cc62d9a (patch)
treedaf8119dae1749b5165b68033a1b23a7375ce9ce /tests/test-merge-closedheads.t
downloadmercurial-tarball-a498da43c7fdb9f24b73680c02a4a3588cc62d9a.tar.gz
Tarball conversion
Diffstat (limited to 'tests/test-merge-closedheads.t')
-rw-r--r--tests/test-merge-closedheads.t87
1 files changed, 87 insertions, 0 deletions
diff --git a/tests/test-merge-closedheads.t b/tests/test-merge-closedheads.t
new file mode 100644
index 0000000..ad78c1e
--- /dev/null
+++ b/tests/test-merge-closedheads.t
@@ -0,0 +1,87 @@
+ $ hgcommit() {
+ > hg commit -u user "$@"
+ > }
+
+ $ hg init clhead
+ $ cd clhead
+
+ $ touch foo && hg add && hgcommit -m 'foo'
+ adding foo
+ $ touch bar && hg add && hgcommit -m 'bar'
+ adding bar
+ $ touch baz && hg add && hgcommit -m 'baz'
+ adding baz
+
+ $ echo "flub" > foo
+ $ hgcommit -m "flub"
+ $ echo "nub" > foo
+ $ hgcommit -m "nub"
+
+ $ hg up -C 2
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+ $ echo "c1" > c1
+ $ hg add c1
+ $ hgcommit -m "c1"
+ created new head
+ $ echo "c2" > c1
+ $ hgcommit -m "c2"
+
+ $ hg up -C 2
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+ $ echo "d1" > d1
+ $ hg add d1
+ $ hgcommit -m "d1"
+ created new head
+ $ echo "d2" > d1
+ $ hgcommit -m "d2"
+ $ hg tag -l good
+
+fail with three heads
+ $ hg up -C good
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ hg merge
+ abort: branch 'default' has 3 heads - please merge with an explicit rev
+ (run 'hg heads .' to see heads)
+ [255]
+
+close one of the heads
+ $ hg up -C 6
+ 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hgcommit -m 'close this head' --close-branch
+
+succeed with two open heads
+ $ hg up -C good
+ 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg up -C good
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ hg merge
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+ $ hgcommit -m 'merged heads'
+
+hg update -C 8
+ $ hg update -C 8
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+
+hg branch some-branch
+ $ hg branch some-branch
+ marked working directory as branch some-branch
+ (branches are permanent and global, did you want a bookmark?)
+hg commit
+ $ hgcommit -m 'started some-branch'
+hg commit --close-branch
+ $ hgcommit --close-branch -m 'closed some-branch'
+
+hg update default
+ $ hg update default
+ 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+hg merge some-branch
+ $ hg merge some-branch
+ 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+hg commit (no reopening of some-branch)
+ $ hgcommit -m 'merge with closed branch'
+
+ $ cd ..