@@ -114,7 +114,7 @@
|
| @ 4: Z
| |
- @ | 3: C
+ o | 3: C
| |
| o 2: Y
| |
@@ -123,9 +123,9 @@
o 0: A
$ hg st
- M C
M conflict
A B
+ A C
? conflict.orig
$ echo resolved > conflict
$ hg resolve -m
@@ -473,11 +473,9 @@
$ hg summary
parent: 1:56daeba07f4b
c2
- parent: 2:e4e3f3546619 tip
- c2b
branch: default
- commit: 1 modified, 1 unresolved (merge)
- update: (current)
+ commit: 1 unresolved (clean)
+ update: 1 new changesets, 2 branch heads (merge)
phases: 3 draft
rebase: 0 rebased, 1 remaining (rebase --continue)
@@ -1795,19 +1795,15 @@
$ hg log -G
@ 2:b18e25de2cf5 D
|
- | @ 1:2ec65233581b B (pruned using prune)
- |/
o 0:426bada5c675 A
$ hg summary
parent: 2:b18e25de2cf5 tip
D
- parent: 1:2ec65233581b (obsolete)
- B
branch: default
- commit: 2 modified, 1 unknown, 1 unresolved (merge)
+ commit: 1 modified, 1 added, 1 unknown, 1 unresolved
update: (current)
- phases: 3 draft
+ phases: 2 draft
rebase: 0 rebased, 2 remaining (rebase --continue)
$ hg rebase --abort
@@ -294,7 +294,7 @@
$ hg tglogp
@ 7: 401ccec5e39f secret 'C'
|
- | @ 6: a0b2430ebfb8 secret 'F'
+ | o 6: a0b2430ebfb8 secret 'F'
| |
o | 5: 45396c49d53b public 'B'
| |
@@ -345,7 +345,7 @@
$ hg tglogp
@ 7: 401ccec5e39f secret 'C'
|
- | @ 6: a0b2430ebfb8 secret 'F'
+ | o 6: a0b2430ebfb8 secret 'F'
| |
o | 5: 45396c49d53b public 'B'
| |
@@ -395,7 +395,7 @@
$ hg tglogp
@ 7: 401ccec5e39f secret 'C'
|
- | @ 6: a0b2430ebfb8 secret 'F'
+ | o 6: a0b2430ebfb8 secret 'F'
| |
o | 5: 45396c49d53b public 'B'
| |
@@ -456,16 +456,14 @@
warning: conflicts while merging conflict! (edit, then use 'hg resolve --mark')
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
-It's weird that the current parents are not 7 and 8 since that's what we're
-merging
$ hg tglog
@ 8:draft 'E'
|
- | o 7:draft 'D'
+ | @ 7:draft 'D'
|/
o 6:draft 'C'
|
- | @ 5:draft 'F'
+ | o 5:draft 'F'
| |\
| | o 4:draft 'E'
| | |
@@ -755,7 +755,7 @@
|
| @ 2: 82b8abf9c185 'D'
| |
- @ | 1: f899f3910ce7 'B'
+ o | 1: f899f3910ce7 'B'
|/
o 0: 4a2df7238c3b 'A'
@@ -779,7 +779,7 @@
unresolved conflicts (see hg resolve, then hg rebase --continue)
[1]
$ hg tglog
- @ 3: 63668d570d21 'C'
+ o 3: 63668d570d21 'C'
|
| @ 2: 82b8abf9c185 'D'
| |
@@ -236,7 +236,7 @@
[1]
$ hg tglog
- @ 4:draft 'C1'
+ o 4:draft 'C1'
|
o 3:draft 'B bis'
|
@@ -14,6 +14,8 @@
== Backwards Compatibility Changes ==
+ * When `hg rebase` pauses for merge conflict resolution, the working copy will
+ no longer have the rebased node as a second parent.
== Internal API Changes ==
@@ -617,6 +617,7 @@
repo,
rev,
p1,
+ p2,
base,
self.collapsef,
dest,
@@ -641,10 +642,6 @@
newnode = self._concludenode(rev, p1, p2, editor)
else:
# Skip commit if we are collapsing
- if self.inmemory:
- self.wctx.setbase(repo[p1])
- else:
- repo.setparents(repo[p1].node())
newnode = None
# Update the state
if newnode is not None:
@@ -1468,7 +1465,7 @@
return newnode
-def rebasenode(repo, rev, p1, base, collapse, dest, wctx):
+def rebasenode(repo, rev, p1, p2, base, collapse, dest, wctx):
"""Rebase a single revision rev on top of p1 using base as merge ancestor"""
# Merge phase
# Update to destination and merge it with local
@@ -1499,6 +1496,7 @@
labels=[b'dest', b'source'],
wc=wctx,
)
+ wctx.setparents(repo[p1].node(), repo[p2].node())
if collapse:
copies.duplicatecopies(repo, wctx, rev, dest)
else: