equal
deleted
inserted
replaced
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 |