--- a/tests/test-rebase-pull.t Sat Apr 30 18:41:08 2016 +0200
+++ b/tests/test-rebase-pull.t Sat Apr 30 18:39:39 2016 +0200
@@ -311,3 +311,83 @@
|
o 0: 'C1'
+
+Multiple pre-existing heads on the branch
+-----------------------------------------
+
+Pull bring content, but nothing on the current branch, we should not consider
+pre-existing heads.
+
+ $ cd ../a
+ $ hg branch unrelatedbranch
+ marked working directory as branch unrelatedbranch
+ (branches are permanent and global, did you want a bookmark?)
+ $ echo B1 > B1
+ $ hg commit -Am B1
+ adding B1
+ $ cd ../c
+ $ hg up 'desc(L2)'
+ 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg pull --rebase
+ pulling from $TESTTMP/a (glob)
+ searching for changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 1 changesets with 1 changes to 1 files
+ nothing to rebase
+
+There is two local heads and we pull a third one.
+The second local head should not confuse the `hg pull rebase`.
+
+ $ hg up 'desc(R6)'
+ 1 files updated, 0 files merged, 2 files removed, 0 files unresolved
+ $ echo M1 > M1
+ $ hg commit -Am M1
+ adding M1
+ $ cd ../a
+ $ hg up 'desc(R6)'
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ echo R7 > R7
+ $ hg commit -Am R7
+ adding R7
+ $ cd ../c
+ $ hg up 'desc(L2)'
+ 2 files updated, 0 files merged, 2 files removed, 0 files unresolved
+ $ hg pull --rebase
+ pulling from $TESTTMP/a (glob)
+ searching for changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 1 changesets with 1 changes to 1 files (+1 heads)
+ rebasing 7:864e0a2d2614 "L1"
+ rebasing 8:6dc0ea5dcf55 "L2"
+ saved backup bundle to $TESTTMP/c/.hg/strip-backup/864e0a2d2614-2f72c89c-backup.hg (glob)
+ $ hg tglog
+ @ 12: 'L2'
+ |
+ o 11: 'L1'
+ |
+ o 10: 'R7'
+ |
+ | o 9: 'M1'
+ |/
+ | o 8: 'B1' unrelatedbranch
+ |/
+ o 7: 'R6'
+ |
+ o 6: 'R5'
+ |
+ o 5: 'R4'
+ |
+ o 4: 'R3'
+ |
+ o 3: 'R2'
+ |
+ o 2: 'R1'
+ |
+ o 1: 'C2'
+ |
+ o 0: 'C1'
+