diff hgext/rebase.py @ 21832:4b93e19cd6e6

merge with stable
author Matt Mackall <mpm@selenic.com>
date Wed, 02 Jul 2014 00:01:13 -0500
parents 3b40e32e88c3 2ba6c9b4e0eb
children 3646716b11a7
line wrap: on
line diff
--- a/hgext/rebase.py	Tue Jul 01 19:54:48 2014 -0500
+++ b/hgext/rebase.py	Wed Jul 02 00:01:13 2014 -0500
@@ -343,7 +343,16 @@
                                   'resolve, then hg rebase --continue)'))
                     finally:
                         ui.setconfig('ui', 'forcemerge', '', 'rebase')
-                cmdutil.duplicatecopies(repo, rev, target)
+                if collapsef:
+                    cmdutil.duplicatecopies(repo, rev, target)
+                else:
+                    # If we're not using --collapse, we need to
+                    # duplicate copies between the revision we're
+                    # rebasing and its first parent, but *not*
+                    # duplicate any copies that have already been
+                    # performed in the destination.
+                    p1rev = repo[rev].p1().rev()
+                    cmdutil.duplicatecopies(repo, rev, p1rev, skiprev=target)
                 if not collapsef:
                     newrev = concludenode(repo, rev, p1, p2, extrafn=extrafn,
                                           editor=editor)