merge: fix --preview to show all nodes that will be merged (
issue2043).
Formerly, it omitted nodes that were not descendants of the least
common ancestor of the two merge parents, even though those nodes
contribute to the merge. The new algorithm uses revlog.findmissing()
instead of ancestor() + nodesbetween().
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@ 3 P1 tags: qtip tip f2.patch
|
o 2 P0 tags: f.patch qbase
|
| o 1 R1 tags:
|/
o 0 C1 tags: qparent
% Rebase - try to rebase on an applied mq patch
abort: cannot rebase onto an applied mq patch
% Rebase - generate a conflict
merging f
warning: conflicts during merge.
merging f failed!
abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
% Fix the 1st conflict
merging f
warning: conflicts during merge.
merging f failed!
abort: fix unresolved conflicts with hg resolve then run hg rebase --continue
% Fix the 2nd conflict
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 1 files
rebase completed
@ 3 P1 tags: qtip tip f2.patch
|
o 2 P0 tags: f.patch qbase
|
o 1 R1 tags: qparent
|
o 0 C1 tags:
% Update to qbase
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% f correctly reflects the merge result
mq1r1
% And the patch is correct
# HG changeset patch
# User test
# Date
# Node ID
# Parent
P0
diff -r x -r y f
--- a/f
+++ b/f
@@ -1,1 +1,1 @@
-r1
+mq1r1
% Update to qtip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% f correctly reflects the merge result
mq1r1mq2
% And the patch is correct
# HG changeset patch
# User test
# Date
# Node ID
# Parent
P1
diff -r x -r y f
--- a/f
+++ b/f
@@ -1,1 +1,1 @@
-mq1r1
+mq1r1mq2
% Adding one git-style patch and one normal
popping f2.patch
popping f.patch
patch queue now empty
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% Git patch
P0 (git)
diff --git a/p b/p
new file mode 100644
--- /dev/null
+++ b/p
@@ -0,0 +1,1 @@
+mq1
% Normal patch
P1
diff -r x p
--- a/p
+++ b/p
@@ -1,1 +1,1 @@
-mq1
+mq2
% Rebase the applied mq patches
saving bundle to
% And the patches are correct
% Git patch
# HG changeset patch
# User test
# Date
# Node ID
# Parent
P0 (git)
diff --git a/p b/p
new file mode 100644
--- /dev/null
+++ b/p
@@ -0,0 +1,1 @@
+mq1
% Normal patch
# HG changeset patch
# User test
# Date
# Node ID
# Parent
P1
--- a/p
+++ b/p
@@ -1,1 +1,1 @@
-mq1
+mq2