Mercurial > public > mercurial-scm > hg-stable
diff mercurial/scmutil.py @ 14068:04ce8fa1015d
add: notify when adding a file that would cause a case-folding collision
On a case-sensitive file system, files can be added with names that differ
only in case (a "case collision"). This would cause an error on case-insensitive
filesystems. A warning or error is now given for such collisions, depending on
the value of ui.portablefilenames ('warn', 'abort', or 'ignore'):
$ touch file File
$ hg add --config ui.portablefilenames=abort File
abort: possible case-folding collision for File
$ hg add File
warning: possible case-folding collision for File
author | Kevin Gessner <kevin@kevingessner.com> |
---|---|
date | Sat, 30 Apr 2011 12:39:46 +0200 |
parents | e88a4958a6b7 |
children | d3f7e110c3c0 |
line wrap: on
line diff
--- a/mercurial/scmutil.py Sat Apr 30 11:08:24 2011 +0200 +++ b/mercurial/scmutil.py Sat Apr 30 12:39:46 2011 +0200 @@ -22,6 +22,11 @@ if msg: portabilityalert(ui, "%s: %r" % (msg, f)) +def checkcasecollision(ui, f, files): + if f.lower() in files and files[f.lower()] != f: + portabilityalert(ui, _('possible case-folding collision for %s') % f) + files[f.lower()] = f + def checkportabilityalert(ui): '''check if the user's config requests nothing, a warning, or abort for non-portable filenames'''