# HG changeset patch # User Pierre-Yves David # Date 1535651439 -7200 # Node ID 821e4be40c6c28147a4fe60afdbc35886c6b45f7 # Parent c0fbe70f2e482b0c599b8d12454450ac35716487 prune: replace --biject with --pair People have been complaining about `--biject` being to obscure for a while. A recent discussion with Pulkit Goyal and Dan Villiom Podlaski Christiansen produce some new concrete proposal that we liked. We eventually settle on using `--pair`. The `--biject` flag will be kept as an alias for a while. diff -r c0fbe70f2e48 -r 821e4be40c6c CHANGELOG --- a/CHANGELOG Tue Aug 28 21:28:41 2018 +0800 +++ b/CHANGELOG Thu Aug 30 19:50:39 2018 +0200 @@ -1,6 +1,11 @@ Changelog ========= +8.1.2 - in progress +------------------- + + * prune: rename `--biject` flag to `--pair` (old flag is kept as an alias) + 8.1.2 -- 2018-08-28 ------------------- diff -r c0fbe70f2e48 -r 821e4be40c6c hgext3rd/evolve/cmdrewrite.py --- a/hgext3rd/evolve/cmdrewrite.py Tue Aug 28 21:28:41 2018 +0800 +++ b/hgext3rd/evolve/cmdrewrite.py Thu Aug 30 19:50:39 2018 +0200 @@ -942,7 +942,9 @@ ('r', 'rev', [], _("revisions to prune")), ('k', 'keep', None, _("does not modify working copy during prune")), ('n', 'note', '', _('store a note on prune')), - ('', 'biject', False, _("do a 1-1 map between rev and successor ranges")), + ('', 'pair', False, _("record a pairing, such as a rebase or divergence resolution " + "(pairing multiple precursors to multiple successors)")), + ('', 'biject', False, _("alias to --pair (DEPRECATED)")), ('', 'fold', False, _("record a fold (multiple precursors, one successors)")), ('', 'split', False, @@ -972,7 +974,7 @@ single successor, you must pass the ``--fold`` option. If you want to supersede multiple revisions at the same time, use - ``--biject`` option to pair the pruned precursor and successor changesets. + ``--pair`` option to pair the pruned precursor and successor changesets. This is commonly useful for resolving history divergence, or when someone else does edits history without obsolescence enabled. """ @@ -981,11 +983,11 @@ succs = opts['new'] + opts['succ'] bookmarks = set(opts.get('bookmark')) metadata = _getmetadata(**opts) - biject = opts.get('biject') + biject = opts.get('pair') or opts.get('biject') fold = opts.get('fold') split = opts.get('split') - options = [o for o in ('biject', 'fold', 'split') if opts.get(o)] + options = [o for o in ('pair', 'fold', 'split') if opts.get(o)] if 1 < len(options): raise error.Abort(_("can only specify one of %s") % ', '.join(options)) @@ -1020,7 +1022,7 @@ sucs = tuple(repo[n] for n in sucs) if not biject and len(sucs) > 1 and len(precs) > 1: msg = "Can't use multiple successors for multiple precursors" - hint = _("use --biject to mark a series as a replacement" + hint = _("use --pair to mark a series as a replacement" " for another") raise error.Abort(msg, hint=hint) elif biject and len(sucs) != len(precs): diff -r c0fbe70f2e48 -r 821e4be40c6c tests/test-prune.t --- a/tests/test-prune.t Tue Aug 28 21:28:41 2018 +0800 +++ b/tests/test-prune.t Thu Aug 30 19:50:39 2018 +0200 @@ -35,14 +35,20 @@ Check arguments exclusive to each other --------------------------------------- + $ hg prune --fold --pair + abort: can only specify one of pair, fold + [255] $ hg prune --fold --biject - abort: can only specify one of biject, fold + abort: nothing to prune [255] $ hg prune --split --fold abort: can only specify one of fold, split [255] + $ hg prune --split --fold --pair + abort: can only specify one of pair, fold, split + [255] $ hg prune --split --fold --biject - abort: can only specify one of biject, fold, split + abort: can only specify one of fold, split [255] Check simple case @@ -196,7 +202,7 @@ $ hg prune 'desc("add cc")' 'desc("add bb")' -s 'desc("add nD")' -s 'desc("add nC")' abort: Can't use multiple successors for multiple precursors - (use --biject to mark a series as a replacement for another) + (use --pair to mark a series as a replacement for another) [255] $ hg debugobsolete 9d206ffc875e1bc304590549be293be36821e66c 0 {47d2a3944de8b013de3be9578e8e344ea2e6c097} (Sat Dec 15 00:00:00 1979 +0000) {'ef1': '0', 'operation': 'prune', 'user': 'blah'} @@ -223,7 +229,7 @@ 814c38b95e72dfe2cbf675b1649ea9d780c89a80 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '9', 'operation': 'prune', 'user': 'test'} 354011cd103f58bbbd9091a3cee6d6a6bd0dddf7 6f6f25e4f748d8f7571777e6e168aedf50350ce8 0 (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '13', 'operation': 'prune', 'user': 'test'} -two old, two new with --biject +two old, two new with --pair $ hg up 0 0 files updated, 0 files merged, 4 files removed, 0 files unresolved @@ -231,7 +237,7 @@ created new head $ mkcommit n2 - $ hg prune 'desc("add n1")::desc("add n2")' -s 'desc("add nD")::desc("add nE")' --biject + $ hg prune 'desc("add n1")::desc("add n2")' -s 'desc("add nD")::desc("add nE")' --pair 0 files updated, 0 files merged, 2 files removed, 0 files unresolved working directory now at 1f0dee641bb7 2 changesets pruned