[PATCH 2 of 2] win32text: revert to \0 check in entire string (issue1066)

Christian Ebert blacktrash at gmx.net
Tue Apr 1 05:07:17 CDT 2008


# HG changeset patch
# User Christian Ebert <blacktrash at gmx.net>
# Date 1207044403 -7200
# Node ID 7dd645eb7e70d6a538bf18aa788bde76a27c1b42
# Parent  846ea2ad20c723d547a3e54310de9fd585b34e38
win32text: revert to \0 check in entire string (issue1066)

diff --git a/hgext/win32text.py b/hgext/win32text.py
--- a/hgext/win32text.py
+++ b/hgext/win32text.py
@@ -22,7 +22,6 @@
 # [hooks]
 # pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
 
-from mercurial import util
 from mercurial.i18n import gettext as _
 from mercurial.node import bin, short
 import re
@@ -47,13 +46,16 @@
 def dumbencode(s):
     return s.replace('\r\n', '\n')
 
+def clevertest(s):
+    return '\0' in s
+
 def cleverdecode(s, cmd, **kwargs):
-    if util.binary(s):
+    if clevertest(s):
         return s
     return dumbdecode(s, cmd, **kwargs)
 
 def cleverencode(s, cmd):
-    if util.binary(s):
+    if clevertest(s):
         return s
     return dumbencode(s)
 
@@ -72,7 +74,7 @@
             if f not in c:
                 continue
             data = c[f].data()
-            if not util.binary(data) and '\r\n' in data:
+            if not clevertest(data) and '\r\n' in data:
                 if not halt:
                     ui.warn(_('Attempt to commit or push text file(s) '
                               'using CRLF line endings\n'))


More information about the Mercurial-devel mailing list