mercurial/copies.py
changeset 34787 754b5117622f
parent 34516 e79b3611223b
child 34846 f05a6e015ecc
equal deleted inserted replaced
34786:9c899660700a 34787:754b5117622f
   840                         data['diverge'].setdefault(sf, []).append(f)
   840                         data['diverge'].setdefault(sf, []).append(f)
   841                     else:
   841                     else:
   842                         data['incompletediverge'][sf] = [of, f]
   842                         data['incompletediverge'][sf] = [of, f]
   843                     return
   843                     return
   844 
   844 
   845 def duplicatecopies(repo, rev, fromrev, skiprev=None):
   845 def duplicatecopies(repo, wctx, rev, fromrev, skiprev=None):
   846     '''reproduce copies from fromrev to rev in the dirstate
   846     '''reproduce copies from fromrev to rev in the dirstate
   847 
   847 
   848     If skiprev is specified, it's a revision that should be used to
   848     If skiprev is specified, it's a revision that should be used to
   849     filter copy records. Any copies that occur between fromrev and
   849     filter copy records. Any copies that occur between fromrev and
   850     skiprev will not be duplicated, even if they appear in the set of
   850     skiprev will not be duplicated, even if they appear in the set of
   861     for dst, src in pathcopies(repo[fromrev], repo[rev]).iteritems():
   861     for dst, src in pathcopies(repo[fromrev], repo[rev]).iteritems():
   862         # copies.pathcopies returns backward renames, so dst might not
   862         # copies.pathcopies returns backward renames, so dst might not
   863         # actually be in the dirstate
   863         # actually be in the dirstate
   864         if dst in exclude:
   864         if dst in exclude:
   865             continue
   865             continue
   866         if repo.dirstate[dst] in "nma":
   866         wctx[dst].markcopied(src)
   867             repo.dirstate.copy(src, dst)