# HG changeset patch # User Martin von Zweigbergk # Date 2019-02-07 17:46:36 # Node ID 93620a4ba88d3e7b7a33afcf92f193be9ac2c857 # Parent 3751595ec45edfbd29c6852a3172593c53008750 subrepo: avoid calculating subrepo prefix twice for cat() (API) Differential Revision: https://phab.mercurial-scm.org/D5881 diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py --- a/mercurial/cmdutil.py +++ b/mercurial/cmdutil.py @@ -2361,14 +2361,12 @@ def cat(ui, repo, ctx, matcher, basefm, sub = ctx.sub(subpath) try: submatch = matchmod.subdirmatcher(subpath, matcher) - - if not sub.cat(submatch, basefm, fntemplate, - os.path.join(prefix, sub._path), + subprefix = os.path.join(prefix, sub._path) + if not sub.cat(submatch, basefm, fntemplate, subprefix, **pycompat.strkwargs(opts)): err = 0 except error.RepoLookupError: - ui.status(_("skipping missing subrepository: %s\n") - % os.path.join(prefix, subpath)) + ui.status(_("skipping missing subrepository: %s\n") % subprefix) return err