[PATCH] histedit: create obsolescence markers in deterministic order
pierre-yves.david at logilab.fr
pierre-yves.david at logilab.fr
Tue Oct 16 09:56:59 CDT 2012
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1350399374 -7200
# Node ID 42ef76a440b24c7d20daa79283cb57f196e7a056
# Parent 9837cafc25b10c51659b65b5971622eab0bc9197
histedit: create obsolescence markers in deterministic order
I arbitrary use the revnum of the precursor because it sound a right order.
diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -512,11 +512,13 @@ def histedit(ui, repo, *parent, **opts):
if mapping:
movebookmarks(ui, repo, mapping, topmost, ntm)
# TODO update mq state
if obsolete._enabled:
markers = []
- for prec, succs in mapping.iteritems():
+ # sort by revision number because it sound "right"
+ for prec in sorted(mapping, key=repo.changelog.rev):
+ succs = mapping[prec]
markers.append((repo[prec],
tuple(repo[s] for s in succs)))
if markers:
obsolete.createmarkers(repo, markers)
else:
diff --git a/tests/test-histedit-obsolete.t b/tests/test-histedit-obsolete.t
--- a/tests/test-histedit-obsolete.t
+++ b/tests/test-histedit-obsolete.t
@@ -85,15 +85,16 @@ Enable obsolete
| x 1:d2ae7f538514 b
|/
o 0:cb9a9f314b8b a
$ hg debugobsolete
- e860deea161a2f77de56603b340ebbb4536308ae ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '*', 'user': 'test'} (glob)
- 652413bf663ef2a641cab26574e46d5f5a64a55a 0efacef7cb481bf574f69075b82d044fdbe5c20f 0 {'date': '*': 'test'} (glob)
- d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '*', 'user': 'test'} (glob)
- 055a42cdd88768532f9cf79daa407fc8d138de9b ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '*': 'test'} (glob)
- 177f92b773850b59254aa5e923436f921b55483b d36c0562f908c692f5204d606d4ff3537d41f1bf 0 {'date': '*', 'user': 'test'} (glob)
+ d2ae7f538514cd87c17547b0de4cea71fe1af9fb 0 {'date': '* *', 'user': 'test'} (glob)
+ 177f92b773850b59254aa5e923436f921b55483b d36c0562f908c692f5204d606d4ff3537d41f1bf 0 {'date': '* *', 'user': 'test'} (glob)
+ 055a42cdd88768532f9cf79daa407fc8d138de9b ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '* *', 'user': 'test'} (glob)
+ e860deea161a2f77de56603b340ebbb4536308ae ae467701c5006bf21ffcfdb555b3d6b63280b6b7 0 {'date': '* *', 'user': 'test'} (glob)
+ 652413bf663ef2a641cab26574e46d5f5a64a55a 0efacef7cb481bf574f69075b82d044fdbe5c20f 0 {'date': '* *', 'user': 'test'} (glob)
+
Ensure hidden revision does not prevent histedit
-------------------------------------------------
create an hidden revision
More information about the Mercurial-devel
mailing list