--- a/mercurial/cmdutil.py Wed Mar 25 15:53:30 2015 -0700
+++ b/mercurial/cmdutil.py Fri Mar 27 13:48:51 2015 -0500
@@ -2811,6 +2811,10 @@
interactive = opts.get('interactive', False)
wctx = repo[None]
m = scmutil.match(wctx, pats, opts)
+
+ # we'll need this later
+ targetsubs = sorted(s for s in wctx.substate if m(s))
+
if not m.always():
m.bad = lambda x, y: False
for abs in repo.walk(m):
@@ -3048,10 +3052,6 @@
_revertprefetch(repo, ctx, *[actions[name][0] for name in needdata])
_performrevert(repo, parents, ctx, actions, interactive)
- # get the list of subrepos that must be reverted
- subrepomatch = scmutil.match(wctx, pats, opts)
- targetsubs = sorted(s for s in wctx.substate if subrepomatch(s))
-
if targetsubs:
# Revert the subrepos on the revert list
for sub in targetsubs:
--- a/tests/test-subrepo-missing.t Wed Mar 25 15:53:30 2015 -0700
+++ b/tests/test-subrepo-missing.t Fri Mar 27 13:48:51 2015 -0500
@@ -34,6 +34,7 @@
$ hg revert .hgsub
warning: subrepo spec file .hgsub not found
warning: subrepo spec file .hgsub not found
+ warning: subrepo spec file .hgsub not found
delete .hgsubstate and revert it