diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py --- a/mercurial/dirstate.py +++ b/mercurial/dirstate.py @@ -7,7 +7,7 @@ from node import nullid from i18n import _ -import util, ignore, osutil, parsers, encoding +import scmutil, util, ignore, osutil, parsers, encoding import struct, os, stat, errno import cStringIO @@ -269,7 +269,7 @@ class dirstate(object): def _addpath(self, f, check=False): oldstate = self[f] if check or oldstate == "r": - util.checkfilename(f) + scmutil.checkfilename(f) if f in self._dirs: raise util.Abort(_('directory %r already in dirstate') % f) # shadows diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -9,9 +9,14 @@ from i18n import _ import util, error import os, errno, stat +def checkfilename(f): + '''Check that the filename f is an acceptable filename for a tracked file''' + if '\r' in f or '\n' in f: + raise util.Abort(_("'\\n' and '\\r' disallowed in filenames: %r") % f) + def checkportable(ui, f): '''Check if filename f is portable and warn or abort depending on config''' - util.checkfilename(f) + checkfilename(f) val = ui.config('ui', 'portablefilenames', 'warn') lval = val.lower() abort = os.name == 'nt' or lval == 'abort' diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -445,11 +445,6 @@ def copyfiles(src, dst, hardlink=None): return hardlink, num -def checkfilename(f): - '''Check that the filename f is an acceptable filename for a tracked file''' - if '\r' in f or '\n' in f: - raise Abort(_("'\\n' and '\\r' disallowed in filenames: %r") % f) - _windows_reserved_filenames = '''con prn aux nul com1 com2 com3 com4 com5 com6 com7 com8 com9 lpt1 lpt2 lpt3 lpt4 lpt5 lpt6 lpt7 lpt8 lpt9'''.split()