move checkfilename from util to scmutil
checkfilename is specific to Mercurial, since it contains the knowledege
that Mercurial can't track files with \n or \r in the name.
--- a/mercurial/dirstate.py Thu Apr 21 12:10:03 2011 +0200
+++ b/mercurial/dirstate.py Thu Apr 21 13:18:52 2011 +0200
@@ -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 @@
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
--- a/mercurial/scmutil.py Thu Apr 21 12:10:03 2011 +0200
+++ b/mercurial/scmutil.py Thu Apr 21 13:18:52 2011 +0200
@@ -9,9 +9,14 @@
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'
--- a/mercurial/util.py Thu Apr 21 12:10:03 2011 +0200
+++ b/mercurial/util.py Thu Apr 21 13:18:52 2011 +0200
@@ -445,11 +445,6 @@
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()