diff tests/test-update-branches.t @ 28266:de8b09482fb7

destutil: show message about other branch heads, even if on a closed head Before this patch, bare "hg update" displays message below, if there is at least one non-closed branch head other than current parent: 1. 'XX other heads for branch "BRANCH"' message, if current parent is on a non-closed branch head This suggests user to invoke "hg heads" or so for merging them. 2. no message, if current parent is on a closed branch head At this patch, bare "hg update" might choose closed branch head as update destination, and it causes this situation easily. 3. no message, otherwise (= current parent isn't on any branch head) 'XX other heads for branch "BRANCH"' should be displayed also in #2 case above, because user might overlook other non-closed branch heads. This patch gets a list of all branch heads regardless of closed-ness of it, and uses it (= 'allheads') to distinguish #1/#2 from #3 above.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Wed, 24 Feb 2016 23:00:33 +0900
parents 6b1fc09c699a
children 3f9e25a42e69
line wrap: on
line diff
--- a/tests/test-update-branches.t	Wed Feb 24 06:10:46 2016 +0900
+++ b/tests/test-update-branches.t	Wed Feb 24 23:00:33 2016 +0900
@@ -175,6 +175,41 @@
   parent=1
   M foo
 
+  $ cd ..
+
+Test updating with closed head
+---------------------------------------------------------------------
+
+  $ hg clone -U -q b1 closed-heads
+  $ cd closed-heads
+
+Test updating if at least one non-closed branch head exists
+
+if on the closed branch head:
+- updating is no-op
+- "N other heads for ...." message is displayed
+
+  $ hg update -q -C 3
+  $ hg commit --close-branch -m 6
+  $ norevtest "on closed branch head" clean 6
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  1 other heads for branch "default"
+  parent=6
+
+Test updating if all branch heads are closed
+
+if on the closed branch head:
+- updating is no-op
+- "N other heads for ...." message isn't displayed
+
+  $ hg update -q -C 2
+  $ hg commit --close-branch -m 7
+  $ norevtest "all heads of branch default are closed" clean 6
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  parent=6
+
+  $ cd ../b1
+
 Test obsolescence behavior
 ---------------------------------------------------------------------