mercurial/scmutil.py
changeset 47012 d55b71393907
parent 46976 f9482db16cef
child 47041 a407fe56d6e8
equal deleted inserted replaced
46992:5fa019ceb499 47012:d55b71393907
    17 
    17 
    18 from .i18n import _
    18 from .i18n import _
    19 from .node import (
    19 from .node import (
    20     bin,
    20     bin,
    21     hex,
    21     hex,
    22     nullid,
       
    23     nullrev,
    22     nullrev,
    24     short,
    23     short,
    25     wdirid,
       
    26     wdirrev,
    24     wdirrev,
    27 )
    25 )
    28 from .pycompat import getattr
    26 from .pycompat import getattr
    29 from .thirdparty import attr
    27 from .thirdparty import attr
    30 from . import (
    28 from . import (
   448 
   446 
   449 def binnode(ctx):
   447 def binnode(ctx):
   450     """Return binary node id for a given basectx"""
   448     """Return binary node id for a given basectx"""
   451     node = ctx.node()
   449     node = ctx.node()
   452     if node is None:
   450     if node is None:
   453         return wdirid
   451         return ctx.repo().nodeconstants.wdirid
   454     return node
   452     return node
   455 
   453 
   456 
   454 
   457 def intrev(ctx):
   455 def intrev(ctx):
   458     """Return integer for a given basectx that can be used in comparison or
   456     """Return integer for a given basectx that can be used in comparison or
  1106                         unfi.set(b'max((::%n) - %ln)', oldnode, allreplaced)
  1104                         unfi.set(b'max((::%n) - %ln)', oldnode, allreplaced)
  1107                     )
  1105                     )
  1108                     if roots:
  1106                     if roots:
  1109                         newnode = roots[0].node()
  1107                         newnode = roots[0].node()
  1110                     else:
  1108                     else:
  1111                         newnode = nullid
  1109                         newnode = repo.nullid
  1112                 else:
  1110                 else:
  1113                     newnode = newnodes[0]
  1111                     newnode = newnodes[0]
  1114                 moves[oldnode] = newnode
  1112                 moves[oldnode] = newnode
  1115 
  1113 
  1116     allnewnodes = [n for ns in replacements.values() for n in ns]
  1114     allnewnodes = [n for ns in replacements.values() for n in ns]
  1504     working copy and newctx.
  1502     working copy and newctx.
  1505     """
  1503     """
  1506     oldctx = repo[b'.']
  1504     oldctx = repo[b'.']
  1507     ds = repo.dirstate
  1505     ds = repo.dirstate
  1508     copies = dict(ds.copies())
  1506     copies = dict(ds.copies())
  1509     ds.setparents(newctx.node(), nullid)
  1507     ds.setparents(newctx.node(), repo.nullid)
  1510     s = newctx.status(oldctx, match=match)
  1508     s = newctx.status(oldctx, match=match)
  1511     for f in s.modified:
  1509     for f in s.modified:
  1512         if ds[f] == b'r':
  1510         if ds[f] == b'r':
  1513             # modified + removed -> removed
  1511             # modified + removed -> removed
  1514             continue
  1512             continue