diff -r 8e0e334bad42 -r 144085249c3f mercurial/localrepo.py --- a/mercurial/localrepo.py Tue May 19 11:35:43 2015 -0700 +++ b/mercurial/localrepo.py Tue May 19 11:36:05 2015 -0700 @@ -1444,7 +1444,7 @@ status.removed.insert(0, '.hgsubstate') # make sure all explicit patterns are matched - if not force and match.files(): + if not force and (match.isexact() or match.prefix()): matched = set(status.modified + status.added + status.removed) for f in match.files():