hgext/rebase.py
changeset 22901 722117c8e023
parent 22823 18ac67b0814c
child 22905 63e889cc610d
equal deleted inserted replaced
22900:7bf82faba774 22901:722117c8e023
    14 http://mercurial.selenic.com/wiki/RebaseExtension
    14 http://mercurial.selenic.com/wiki/RebaseExtension
    15 '''
    15 '''
    16 
    16 
    17 from mercurial import hg, util, repair, merge, cmdutil, commands, bookmarks
    17 from mercurial import hg, util, repair, merge, cmdutil, commands, bookmarks
    18 from mercurial import extensions, patch, scmutil, phases, obsolete, error
    18 from mercurial import extensions, patch, scmutil, phases, obsolete, error
       
    19 from mercurial import copies
    19 from mercurial.commands import templateopts
    20 from mercurial.commands import templateopts
    20 from mercurial.node import nullrev
    21 from mercurial.node import nullrev
    21 from mercurial.lock import release
    22 from mercurial.lock import release
    22 from mercurial.i18n import _
    23 from mercurial.i18n import _
    23 import os, errno
    24 import os, errno
   380                                 _('unresolved conflicts (see hg '
   381                                 _('unresolved conflicts (see hg '
   381                                   'resolve, then hg rebase --continue)'))
   382                                   'resolve, then hg rebase --continue)'))
   382                     finally:
   383                     finally:
   383                         ui.setconfig('ui', 'forcemerge', '', 'rebase')
   384                         ui.setconfig('ui', 'forcemerge', '', 'rebase')
   384                 if collapsef:
   385                 if collapsef:
   385                     cmdutil.duplicatecopies(repo, rev, target)
   386                     copies.duplicatecopies(repo, rev, target)
   386                 else:
   387                 else:
   387                     # If we're not using --collapse, we need to
   388                     # If we're not using --collapse, we need to
   388                     # duplicate copies between the revision we're
   389                     # duplicate copies between the revision we're
   389                     # rebasing and its first parent, but *not*
   390                     # rebasing and its first parent, but *not*
   390                     # duplicate any copies that have already been
   391                     # duplicate any copies that have already been
   391                     # performed in the destination.
   392                     # performed in the destination.
   392                     p1rev = repo[rev].p1().rev()
   393                     p1rev = repo[rev].p1().rev()
   393                     cmdutil.duplicatecopies(repo, rev, p1rev, skiprev=target)
   394                     copies.duplicatecopies(repo, rev, p1rev, skiprev=target)
   394                 if not collapsef:
   395                 if not collapsef:
   395                     merging = repo[p2].rev() != nullrev
   396                     merging = repo[p2].rev() != nullrev
   396                     editform = cmdutil.mergeeditform(merging, 'rebase')
   397                     editform = cmdutil.mergeeditform(merging, 'rebase')
   397                     editor = cmdutil.getcommiteditor(editform=editform, **opts)
   398                     editor = cmdutil.getcommiteditor(editform=editform, **opts)
   398                     newrev = concludenode(repo, rev, p1, p2, extrafn=extrafn,
   399                     newrev = concludenode(repo, rev, p1, p2, extrafn=extrafn,