issue228: Fix repositories at the filesystem root (/ or C:\)
authorThomas Arendsen Hein <thomas@intevation.de>
Thu, 09 Nov 2006 21:53:45 +0100
changeset 3665 63e173a4ffbc
parent 3664 cabe62800120
child 3666 adbf440a81e0
issue228: Fix repositories at the filesystem root (/ or C:\) Thanks to Robert Shaw and other people on the list for the suggestions.
mercurial/dirstate.py
--- a/mercurial/dirstate.py	Wed Nov 08 11:28:33 2006 -0800
+++ b/mercurial/dirstate.py	Thu Nov 09 21:53:45 2006 +0100
@@ -32,7 +32,11 @@
     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.