Mercurial > evolve
changeset 5113:a66c9fc9c503
fold: actually track folds using fold-* metadata in obsmarkers
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Sat, 11 Jan 2020 19:52:56 +0700 |
parents | 51e38bf936cf |
children | 08112f100d70 |
files | hgext3rd/evolve/cmdrewrite.py tests/test-evolve.t tests/test-fold.t |
diffstat | 3 files changed, 23 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/evolve/cmdrewrite.py Sun Feb 02 15:51:10 2020 +0700 +++ b/hgext3rd/evolve/cmdrewrite.py Sat Jan 11 19:52:56 2020 +0700 @@ -801,9 +801,15 @@ p2.node()], commitopts=commitopts) phases.retractboundary(repo, tr, targetphase, [newid]) - replacements = {ctx.node(): [newid] for ctx in allctx} - scmutil.cleanupnodes(repo, replacements, operation=b"fold", - metadata=metadata) + if 'repls' in scmutil.cleanupnodes.__code__.co_varnames: + replacements = {tuple(ctx.node() for ctx in allctx): [newid]} + scmutil.cleanupnodes(repo, replacements, operation=b"fold", + metadata=metadata) + else: + # hg <= 4.7 (b99903534e06) + replacements = {ctx.node(): [newid] for ctx in allctx} + scmutil.cleanupnodes(repo, replacements, operation=b"fold", + metadata=metadata) tr.close() finally: tr.release()
--- a/tests/test-evolve.t Sun Feb 02 15:51:10 2020 +0700 +++ b/tests/test-evolve.t Sat Jan 11 19:52:56 2020 +0700 @@ -781,19 +781,22 @@ more than 2 successors: 0 available keys: ef1: 10 + fold-id: 5 + fold-idx: 5 + fold-size: 5 operation: 10 user: 10 marker size: format v1: smallest length: 90 - longer length: 92 - median length: 91 - mean length: 90 + longer length: 131 + median length: 130 + mean length: 110 format v0: - smallest length: * (glob) - longer length: * (glob) - median length: * (glob) - mean length: * (glob) + smallest length: * (glob) + longer length: * (glob) + median length: * (glob) + mean length: * (glob) disconnected clusters: 1 any known node: 1 smallest length: 10
--- a/tests/test-fold.t Sun Feb 02 15:51:10 2020 +0700 +++ b/tests/test-fold.t Sat Jan 11 19:52:56 2020 +0700 @@ -95,6 +95,10 @@ $ hg fold --from -r 'desc("r5")' 3 changesets folded 0 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ hg debugobsolete -r 'desc("r5")' --exclusive + 4de32a90b66cd083ebf3c00b41277aa7abca51dd 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'fold-id': '25cb328e', 'fold-idx': '3', 'fold-size': '3', 'operation': 'fold', 'user': 'test'} + c8d03c1b5e94af74b772900c58259d2e08917735 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '33', 'fold-id': '25cb328e', 'fold-idx': '1', 'fold-size': '3', 'operation': 'fold', 'user': 'test'} + f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 198b5c405d01a50c41a81a00fc61677b81981a5f 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '37', 'fold-id': '25cb328e', 'fold-idx': '2', 'fold-size': '3', 'operation': 'fold', 'user': 'test'} Checking whether the bookmarks are moved or not