changeset 8677:34df078b8b1b

walk: simplify logic for badfn clause - matchfn redundant - call badfn always rather than fwarn - use for/else rather than keep var
author Matt Mackall <mpm@selenic.com>
date Sun, 31 May 2009 17:54:18 -0500
parents acd69fc201a5
children 43598055bae8
files mercurial/dirstate.py
diffstat 1 files changed, 2 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/dirstate.py	Sun May 31 17:54:18 2009 -0500
+++ b/mercurial/dirstate.py	Sun May 31 17:54:18 2009 -0500
@@ -506,22 +506,16 @@
                     if nf in dmap:
                         results[nf] = None
             except OSError, inst:
-                keep = False
                 if nf in dmap: # does it exactly match a file?
                     results[nf] = None
-                    keep = True
                 else: # does it match a directory?
                     prefix = nf + "/"
                     for fn in dmap:
                         if fn.startswith(prefix):
                             dostep3 = True
-                            keep = True
                             break
-                if not keep:
-                    if inst.errno != errno.ENOENT:
-                        fwarn(ff, inst.strerror)
-                    elif badfn(ff, inst.strerror):
-                        if nf not in results and not ignore(nf) and matchfn(nf):
+                    else:
+                        if badfn(ff, inst.strerror) and not ignore(nf):
                             results[nf] = None
 
         # step 2: visit subdirectories