# HG changeset patch # User Brendan Cully # Date 1183742542 25200 # Node ID 845e0071b7040095950a9adb863009e89aa7c741 # Parent 40007fe82be9f7c33b4031a8395a5fd006cccc66 Sort changelog extra dict to avoid possible nondeterminism diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -131,7 +131,8 @@ class changelog(revlog): return extra def encode_extra(self, d): - items = [_string_escape(":".join(t)) for t in d.iteritems()] + # keys must be sorted to produce a deterministic changelog entry + items = [_string_escape('%s:%s' % (k, d[k])) for k in sorted(d)] return "\0".join(items) def extract(self, text):