--- 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'))