diff mercurial/dirstate.py @ 3628:63e173a4ffbc

issue228: Fix repositories at the filesystem root (/ or C:\) Thanks to Robert Shaw and other people on the list for the suggestions.
author Thomas Arendsen Hein <thomas@intevation.de>
date Thu, 09 Nov 2006 21:53:45 +0100
parents f4c9bb4ad7b1
children 47c634bf1e92
line wrap: on
line diff
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -32,7 +32,11 @@ class dirstate(object):
     def getcwd(self):
         cwd = os.getcwd()
         if cwd == self.root: return ''
-        return cwd[len(self.root) + 1:]
+        # self.root ends with a path separator if self.root is '/' or 'C:\'
+        common_prefix_len = len(self.root)
+        if not self.root.endswith(os.sep):
+            common_prefix_len += 1
+        return cwd[common_prefix_len:]
 
     def hgignore(self):
         '''return the contents of .hgignore files as a list of patterns.