Merge with crew-stable
authorPatrick Mezard <pmezard@gmail.com>
Fri, 04 Apr 2008 23:18:03 +0200
changeset 6475 93e4bb8ca275
parent 6472 8c4cd80afd3e (current diff)
parent 6474 6ed371423d34 (diff)
child 6476 ea230fb1c0e2
Merge with crew-stable
--- a/hgext/win32text.py	Fri Apr 04 17:44:31 2008 +0200
+++ b/hgext/win32text.py	Fri Apr 04 23:18:03 2008 +0200
@@ -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,15 +46,19 @@
 def dumbencode(s, cmd):
     return s.replace('\r\n', '\n')
 
+def clevertest(s, cmd):
+    if '\0' in s: return False
+    return True
+
 def cleverdecode(s, cmd, **kwargs):
-    if util.binary(s):
-        return s
-    return dumbdecode(s, cmd, **kwargs)
+    if clevertest(s, cmd):
+        return dumbdecode(s, cmd, **kwargs)
+    return s
 
 def cleverencode(s, cmd):
-    if util.binary(s):
-        return s
-    return dumbencode(s, cmd)
+    if clevertest(s, cmd):
+        return dumbencode(s, cmd)
+    return s
 
 _filters = {
     'dumbdecode:': dumbdecode,
@@ -72,7 +75,7 @@
             if f not in c:
                 continue
             data = c[f].data()
-            if not util.binary(data) and '\r\n' in data:
+            if '\0' not in data and '\r\n' in data:
                 if not halt:
                     ui.warn(_('Attempt to commit or push text file(s) '
                               'using CRLF line endings\n'))