changeset 1491:91c0e8d7ddcf

fix a bug in dirstate.changes when cwd != repo.root - use lstat instead of stat - add a testcase (thanks to Johannes Hofmann)
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
date Wed, 02 Nov 2005 16:13:41 -0800
parents c3ffdb2c4091
children 5f0522d31967 874efc57e00a
files mercurial/dirstate.py tests/test-hgignore tests/test-hgignore.out
diffstat 3 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -380,7 +380,8 @@ class dirstate:
                 nonexistent = True
                 if not st:
                     try:
-                        st = os.lstat(fn)
+                        f = os.path.join(self.root, fn)
+                        st = os.lstat(f)
                     except OSError, inst:
                         if inst.errno != errno.ENOENT:
                             raise
--- a/tests/test-hgignore
+++ b/tests/test-hgignore
@@ -40,3 +40,6 @@ echo "--" ; hg status
 
 echo "relglob:*" > .hgignore
 echo "--" ; hg status
+
+cd dir
+echo "--" ; hg status
--- a/tests/test-hgignore.out
+++ b/tests/test-hgignore.out
@@ -32,3 +32,5 @@ A dir/b.o
 ? dir/c.o
 --
 A dir/b.o
+--
+A b.o