--- a/mercurial/dirstate.py Fri Mar 16 00:22:57 2007 -0300
+++ b/mercurial/dirstate.py Fri Mar 16 00:22:58 2007 -0300
@@ -34,10 +34,14 @@
cwd = os.getcwd()
if cwd == self.root: return ''
# 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:]
+ rootsep = self.root
+ if not rootsep.endswith(os.sep):
+ rootsep += os.sep
+ if cwd.startswith(rootsep):
+ return cwd[len(rootsep):]
+ else:
+ # we're outside the repo. return an absolute path.
+ return cwd
def hgignore(self):
'''return the contents of .hgignore files as a list of patterns.