@@ -2883,7 +2883,7 @@ def commitstatus(repo, node, branch, bhe
def postcommitstatus(repo, pats, opts):
return repo.status(match=scmutil.match(repo[None], pats, opts))
-def resolve(ui, repo, ms, pats, opts, flaglist):
+def resolve(ui, repo, ms, pats, opts):
from . import merge as mergemod
mark = opts.get('mark')
unmark = opts.get('unmark')
@@ -2989,22 +2989,16 @@ def resolve(ui, repo, ms, pats, opts, fl
ms.recordactions()
if not didwork and pats:
- hint = None
+ hintpath = False
if not any([p for p in pats if p.find(':') >= 0]):
pats = ['path:%s' % p for p in pats]
m = scmutil.match(wctx, pats, opts)
for f in ms:
if not m(f):
continue
- flags = ''.join(['-%s ' % o[0] for o in flaglist
- if opts.get(o)])
- hint = _("(try: hg resolve %s%s)\n") % (
- flags,
- ' '.join(pats))
+ hintpath = True
break
- ui.warn(_("arguments do not match paths that need resolving\n"))
- if hint:
- ui.warn(hint)
+ return ret, ('nomatch', hintpath)
elif ms.mergedriver and ms.mdstate() != 's':
# run conclude step when either a driver-resolved file is requested
# or there are no driver-resolved files
@@ -6025,10 +6025,18 @@ def resolve(ui, repo, *pats, **opts):
with repo.wlock():
ms = mergemod.mergestate.read(repo)
- ret, showhint = cmdutil.resolve(ui, repo, ms, pats, opts, flaglist)
+ ret, showhint = cmdutil.resolve(ui, repo, ms, pats, opts)
if showhint is None:
pass
+ elif showhint[0] == 'nomatch':
+ hintpath = showhint[1]
+ ui.warn(_("arguments do not match paths that need resolving\n"))
+ if hintpath:
+ pats = ['path:%s' % p for p in pats]
+ flags = ''.join(['-%s ' % o[0] for o in flaglist
+ if opts.get(o)])
+ ui.warn(_("(try: hg resolve %s%s)\n") % (flags, ' '.join(pats)))
elif showhint[0] == 'final':
# Nudge users into finishing an unfinished operation
unresolvedf = list(ms.unresolved())