mercurial/context.py
branchstable
changeset 25193 ccb1623266eb
parent 24862 c82d88dfaf59
child 25195 472a685a4961
--- a/mercurial/context.py	Mon May 18 22:35:27 2015 -0500
+++ b/mercurial/context.py	Sun May 17 01:06:10 2015 -0400
@@ -9,7 +9,7 @@
 from i18n import _
 import mdiff, error, util, scmutil, subrepo, patch, encoding, phases
 import match as matchmod
-import os, errno, stat
+import copy, os, errno, stat
 import obsolete as obsmod
 import repoview
 import fileset
@@ -590,8 +590,14 @@
         '''Generates matching file names.'''
 
         # Override match.bad method to have message with nodeid
+        match = copy.copy(match)
         oldbad = match.bad
         def bad(fn, msg):
+            # The manifest doesn't know about subrepos, so don't complain about
+            # paths into valid subrepos.
+            if util.any(fn == s or fn.startswith(s + '/')
+                        for s in self.substate):
+                return
             oldbad(fn, _('no such file in rev %s') % self)
         match.bad = bad