mercurial/dirstate.py
changeset 39260 27946fca8a05
parent 38959 0d032756e9bf
child 39452 481db51c83e9
--- a/mercurial/dirstate.py	Fri Aug 24 10:13:27 2018 -0700
+++ b/mercurial/dirstate.py	Thu Aug 23 18:04:15 2018 -0700
@@ -912,11 +912,14 @@
                         continue
                     raise
                 for f, kind, st in entries:
-                    # If we needed to inspect any files, visitentries would have
-                    # been 'this' or 'all', and we would have set it to None
-                    # above. If we have visitentries populated here, we don't
-                    # care about any files in this directory, so no need to
-                    # check the type of `f`.
+                    # Some matchers may return files in the visitentries set,
+                    # instead of 'this', if the matcher explicitly mentions them
+                    # and is not an exactmatcher. This is acceptable; we do not
+                    # make any hard assumptions about file-or-directory below
+                    # based on the presence of `f` in visitentries. If
+                    # visitchildrenset returned a set, we can always skip the
+                    # entries *not* in the set it provided regardless of whether
+                    # they're actually a file or a directory.
                     if visitentries and f not in visitentries:
                         continue
                     if normalizefile: