Mercurial > hg-stable
changeset 6473:9c897ffd3637
Backed out changeset 7f4257b5cbfc
util.binary heuristic cannot be trusted when decoding working directory files.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Fri, 04 Apr 2008 23:09:54 +0200 |
parents | 7f4257b5cbfc |
children | 6ed371423d34 |
files | hgext/win32text.py |
diffstat | 1 files changed, 11 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/win32text.py Thu Mar 13 10:42:46 2008 +0100 +++ b/hgext/win32text.py Fri Apr 04 23:09:54 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'))