[PATCH 7 of 8] eol: make output stable
Bryan O'Sullivan
bos at serpentine.com
Wed Dec 23 00:24:45 CST 2015
# HG changeset patch
# User Bryan O'Sullivan <bos at serpentine.com>
# Date 1450850534 28800
# Tue Dec 22 22:02:14 2015 -0800
# Node ID 8c45e1eed7390cab1f3aaa4e16ac4a63e2d1703b
# Parent af1cada80ab29e60e01bd04a33d6bd4e582c5508
eol: make output stable
This eliminates a divergence in behaviour between PyPy and Python.
diff --git a/hgext/eol.py b/hgext/eol.py
--- a/hgext/eol.py
+++ b/hgext/eol.py
@@ -201,7 +201,7 @@ class eolfile(object):
data = ctx[f].data()
if (target == "to-lf" and "\r\n" in data
or target == "to-crlf" and singlelf.search(data)):
- failed.append((str(ctx), target, f))
+ failed.append((f, target, str(ctx)))
break
return failed
@@ -244,7 +244,7 @@ def _checkhook(ui, repo, node, headsonly
if failed:
eols = {'to-lf': 'CRLF', 'to-crlf': 'LF'}
msgs = []
- for node, target, f in failed:
+ for f, target, node in sorted(failed):
msgs.append(_(" %s in %s should not have %s line endings") %
(f, node, eols[target]))
raise error.Abort(_("end-of-line check failed:\n") + "\n".join(msgs))
diff --git a/tests/test-eol-hook.t b/tests/test-eol-hook.t
--- a/tests/test-eol-hook.t
+++ b/tests/test-eol-hook.t
@@ -206,13 +206,13 @@ Test multiple files/revisions output
adding file changes
added 3 changesets with 3 changes to 2 files (+1 heads)
error: pretxnchangegroup hook failed: end-of-line check failed:
+ b.txt in fbcf9b1025f5 should not have CRLF line endings
d.txt in a7040e68714f should not have CRLF line endings
- b.txt in fbcf9b1025f5 should not have CRLF line endings
transaction abort!
rollback completed
abort: end-of-line check failed:
+ b.txt in fbcf9b1025f5 should not have CRLF line endings
d.txt in a7040e68714f should not have CRLF line endings
- b.txt in fbcf9b1025f5 should not have CRLF line endings
[255]
$ cd ..
More information about the Mercurial-devel
mailing list