--- 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