changeset 1564:34579a67fa71

Re: [PATCH 2 of 3] remove walk warning about nonexistent files On 11/15/05, Robin Farine <robin.farine@terminus.org> wrote: > # HG changeset patch > # User Robin Farine <robin.farine@terminus.org> > # Node ID ce0a3cc309a8d1e81278ec01a3c61fbb99c691f4 > # Parent feb77e0951e74d75c213e8471f107fdcc124c876 > remove walk warning about nonexistent files > > diff -r feb77e0951e7 -r ce0a3cc309a8 mercurial/dirstate.py > --- a/mercurial/dirstate.py Tue Nov 15 08:42:45 2005 +0100 > +++ b/mercurial/dirstate.py Tue Nov 15 08:59:50 2005 +0100 > @@ -336,9 +336,6 @@ > try: > st = os.lstat(f) > except OSError, inst: > - if ff not in dc: self.ui.warn('%s: %s\n' % ( > - util.pathto(self.getcwd(), ff), > - inst.strerror)) > continue > if stat.S_ISDIR(st.st_mode): > cmp1 = (lambda x, y: cmp(x[1], y[1])) this break some tests, a better fix would be to check if ff can be a directory prefix from files in dc you can try the attached patch. Benoit
author Benoit Boissinot <bboissin@gmail.com>
date Thu, 01 Dec 2005 10:48:29 -0600
parents cc2a2e12f4ad
children 4bcbc126b80b
files mercurial/dirstate.py
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/dirstate.py
+++ b/mercurial/dirstate.py
@@ -335,9 +335,16 @@ class dirstate(object):
             try:
                 st = os.lstat(f)
             except OSError, inst:
-                if ff not in dc: self.ui.warn('%s: %s\n' % (
-                    util.pathto(self.getcwd(), ff),
-                    inst.strerror))
+                nf = util.normpath(ff)
+                found = False
+                for fn in dc:
+                    if nf == fn or (fn.startswith(nf) and fn[len(nf)] == '/'):
+                        found = True
+                        break
+                if not found:
+                    self.ui.warn('%s: %s\n' % (
+                                 util.pathto(self.getcwd(), ff),
+                                 inst.strerror))
                 continue
             if stat.S_ISDIR(st.st_mode):
                 cmp1 = (lambda x, y: cmp(x[1], y[1]))