Mercurial > hg
changeset 13944:bc32bb0e909f
util: new function checkfilename
checkfilename checks for restrictions on filenames imposed by Mercurial
itself, irrespective of on what platform it is run.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 15 Apr 2011 16:15:30 +0200 |
parents | 545091b12724 |
children | 03f3ce7ca2a8 |
files | mercurial/dirstate.py mercurial/util.py |
diffstat | 2 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/dirstate.py Fri Apr 15 16:15:28 2011 +0200 +++ b/mercurial/dirstate.py Fri Apr 15 16:15:30 2011 +0200 @@ -269,9 +269,7 @@ def _addpath(self, f, check=False): oldstate = self[f] if check or oldstate == "r": - if '\r' in f or '\n' in f: - raise util.Abort( - _("'\\n' and '\\r' disallowed in filenames: %r") % f) + util.checkfilename(f) if f in self._dirs: raise util.Abort(_('directory %r already in dirstate') % f) # shadows
--- a/mercurial/util.py Fri Apr 15 16:15:28 2011 +0200 +++ b/mercurial/util.py Fri Apr 15 16:15:30 2011 +0200 @@ -493,6 +493,11 @@ 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()