[PATCH] Fix normalize fail on non-lowercase filename (Issue1273)

Adrian Buehlmann adrian at cadifra.com
Mon Sep 1 08:50:59 CDT 2008


# HG changeset patch
# User Andrei Vermel <avermel at mail.ru>
# Date 1217691290 -14400
# Node ID a003f52d59ddfebbfb2fad407b18162160b14a14
# Parent  057ced2b85439e47a9b372a8f7a6e9957a422f3b
Fix normalize fail on non-lowercase filename (Issue1273)

diff --git a/mercurial/dirstate.py b/mercurial/dirstate.py
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -344,11 +344,12 @@
             self._ui.warn(_("not in dirstate: %s\n") % f)
 
     def _normalize(self, path):
-        if path not in self._foldmap:
+        norm_path = os.path.normcase(os.path.normpath(path))
+        if norm_path not in self._foldmap:
             if not os.path.exists(path):
                 return path
-            self._foldmap[path] = util.fspath(path, self._root)
-        return self._foldmap[path]
+            self._foldmap[norm_path] = util.fspath(path, self._root)
+        return self._foldmap[norm_path]
 
     def clear(self):
         self._map = {}


More information about the Mercurial-devel mailing list