hgext/transplant.py
changeset 8703 8676dd819444
parent 8615 94ca38e63576
child 8706 25e9c71b89de
equal deleted inserted replaced
8702:3d44f1a68353 8703:8676dd819444
    13 map from a changeset hash to its hash in the source repository.
    13 map from a changeset hash to its hash in the source repository.
    14 '''
    14 '''
    15 
    15 
    16 from mercurial.i18n import _
    16 from mercurial.i18n import _
    17 import os, tempfile
    17 import os, tempfile
    18 from mercurial import bundlerepo, changegroup, cmdutil, hg, merge
    18 from mercurial import bundlerepo, changegroup, cmdutil, hg, merge, match
    19 from mercurial import patch, revlog, util, error
    19 from mercurial import patch, revlog, util, error
    20 
    20 
    21 class transplantentry:
    21 class transplantentry:
    22     def __init__(self, lnode, rnode):
    22     def __init__(self, lnode, rnode):
    23         self.lnode = lnode
    23         self.lnode = lnode
   240         else:
   240         else:
   241             files = None
   241             files = None
   242         if merge:
   242         if merge:
   243             p1, p2 = repo.dirstate.parents()
   243             p1, p2 = repo.dirstate.parents()
   244             repo.dirstate.setparents(p1, node)
   244             repo.dirstate.setparents(p1, node)
   245 
   245             m = match.always(repo.root, '')
   246         n = repo.commit(files, message, user, date, extra=extra)
   246         else:
       
   247             m = match.exact(repo.root, '', files)
       
   248 
       
   249         n = repo.commit(None, message, user, date, extra=extra, match=m)
   247         if not merge:
   250         if not merge:
   248             self.transplants.set(n, node)
   251             self.transplants.set(n, node)
   249 
   252 
   250         return n
   253         return n
   251 
   254