Mercurial > hg
changeset 32540:f4cd4c49e302
cat: pass filename template as explicit argument
I'll move the handling of the '-' filename to commands.cat().
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 27 May 2017 18:50:05 +0900 |
parents | 447bbd970047 |
children | 3b569745af6c |
files | mercurial/cmdutil.py mercurial/commands.py mercurial/subrepo.py |
diffstat | 3 files changed, 12 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Thu May 25 21:28:08 2017 +0900 +++ b/mercurial/cmdutil.py Sat May 27 18:50:05 2017 +0900 @@ -2632,11 +2632,11 @@ return ret -def cat(ui, repo, ctx, matcher, prefix, **opts): +def cat(ui, repo, ctx, matcher, fntemplate, prefix, **opts): err = 1 def write(path): - fp = makefileobj(repo, opts.get('output'), ctx.node(), + fp = makefileobj(repo, fntemplate, ctx.node(), pathname=os.path.join(prefix, path)) data = ctx[path].data() if opts.get('decode'): @@ -2666,8 +2666,8 @@ try: submatch = matchmod.subdirmatcher(subpath, matcher) - if not sub.cat(submatch, os.path.join(prefix, sub._path), - **opts): + if not sub.cat(submatch, fntemplate, + os.path.join(prefix, sub._path), **opts): err = 0 except error.RepoLookupError: ui.status(_("skipping missing subrepository: %s\n")
--- a/mercurial/commands.py Thu May 25 21:28:08 2017 +0900 +++ b/mercurial/commands.py Sat May 27 18:50:05 2017 +0900 @@ -1363,9 +1363,10 @@ """ ctx = scmutil.revsingle(repo, opts.get('rev')) m = scmutil.match(ctx, (file1,) + pats, opts) + fntemplate = opts.pop('output', '') ui.pager('cat') - return cmdutil.cat(ui, repo, ctx, m, '', **opts) + return cmdutil.cat(ui, repo, ctx, m, fntemplate, '', **opts) @command('^clone', [('U', 'noupdate', None, _('the clone will include an empty working '
--- a/mercurial/subrepo.py Thu May 25 21:28:08 2017 +0900 +++ b/mercurial/subrepo.py Sat May 27 18:50:05 2017 +0900 @@ -538,7 +538,7 @@ self.ui.warn("%s: %s" % (prefix, _("addremove is not supported"))) return 1 - def cat(self, match, prefix, **opts): + def cat(self, match, fntemplate, prefix, **opts): return 1 def status(self, rev2, **opts): @@ -767,10 +767,11 @@ dry_run, similarity) @annotatesubrepoerror - def cat(self, match, prefix, **opts): + def cat(self, match, fntemplate, prefix, **opts): rev = self._state[1] ctx = self._repo[rev] - return cmdutil.cat(self.ui, self._repo, ctx, match, prefix, **opts) + return cmdutil.cat(self.ui, self._repo, ctx, match, fntemplate, prefix, + **opts) @annotatesubrepoerror def status(self, rev2, **opts): @@ -1832,7 +1833,7 @@ @annotatesubrepoerror - def cat(self, match, prefix, **opts): + def cat(self, match, fntemplate, prefix, **opts): rev = self._state[1] if match.anypats(): return 1 #No support for include/exclude yet @@ -1842,7 +1843,7 @@ for f in match.files(): output = self._gitcommand(["show", "%s:%s" % (rev, f)]) - fp = cmdutil.makefileobj(self._subparent, opts.get('output'), + fp = cmdutil.makefileobj(self._subparent, fntemplate, self._ctx.node(), pathname=self.wvfs.reljoin(prefix, f)) fp.write(output)