##// END OF EJS Templates
simplify make_filename, fix hg cat bug...
Matt Mackall -
r2562:a020024c default
parent child Browse files
Show More
@@ -248,11 +248,11 b' def revrange(ui, repo, revs):'
248 248 seen[rev] = 1
249 249 yield str(rev)
250 250
251 def make_filename(repo, r, pat, node=None,
251 def make_filename(repo, pat, node,
252 252 total=None, seqno=None, revwidth=None, pathname=None):
253 253 node_expander = {
254 254 'H': lambda: hex(node),
255 'R': lambda: str(r.rev(node)),
255 'R': lambda: str(repo.changelog.rev(node)),
256 256 'h': lambda: short(node),
257 257 }
258 258 expander = {
@@ -292,7 +292,7 b' def make_filename(repo, r, pat, node=Non'
292 292 raise util.Abort(_("invalid format spec '%%%s' in output file name"),
293 293 inst.args[0])
294 294
295 def make_file(repo, r, pat, node=None,
295 def make_file(repo, pat, node=None,
296 296 total=None, seqno=None, revwidth=None, mode='wb', pathname=None):
297 297 if not pat or pat == '-':
298 298 return 'w' in mode and sys.stdout or sys.stdin
@@ -300,7 +300,7 b' def make_file(repo, r, pat, node=None,'
300 300 return pat
301 301 if hasattr(pat, 'read') and 'r' in mode:
302 302 return pat
303 return open(make_filename(repo, r, pat, node, total, seqno, revwidth,
303 return open(make_filename(repo, pat, node, total, seqno, revwidth,
304 304 pathname),
305 305 mode)
306 306
@@ -779,7 +779,7 b' def archive(ui, repo, dest, **opts):'
779 779 raise util.Abort(_('uncommitted merge - please provide a '
780 780 'specific revision'))
781 781
782 dest = make_filename(repo, repo.changelog, dest, node)
782 dest = make_filename(repo, dest, node)
783 783 if os.path.realpath(dest) == repo.root:
784 784 raise util.Abort(_('repository root cannot be destination'))
785 785 dummy, matchfn, dummy = matchpats(repo, [], opts)
@@ -790,7 +790,7 b' def archive(ui, repo, dest, **opts):'
790 790 raise util.Abort(_('cannot archive plain files to stdout'))
791 791 dest = sys.stdout
792 792 if not prefix: prefix = os.path.basename(repo.root) + '-%h'
793 prefix = make_filename(repo, repo.changelog, prefix, node)
793 prefix = make_filename(repo, prefix, node)
794 794 archival.archive(repo, dest, node, kind, not opts['no_decode'],
795 795 matchfn, prefix)
796 796
@@ -891,7 +891,7 b' def cat(ui, repo, file1, *pats, **opts):'
891 891 for src, abs, rel, exact in walk(repo, (file1,) + pats, opts, node):
892 892 r = repo.file(abs)
893 893 n = mf[abs]
894 fp = make_file(repo, r, opts['output'], node=n, pathname=abs)
894 fp = make_file(repo, opts['output'], node, pathname=abs)
895 895 fp.write(r.read(n))
896 896
897 897 def clone(ui, source, dest=None, **opts):
@@ -1443,8 +1443,7 b' def doexport(ui, repo, changeset, seqno,'
1443 1443 prev = (parents and parents[0]) or nullid
1444 1444 change = repo.changelog.read(node)
1445 1445
1446 fp = make_file(repo, repo.changelog, opts['output'],
1447 node=node, total=total, seqno=seqno,
1446 fp = make_file(repo, opts['output'], node, total=total, seqno=seqno,
1448 1447 revwidth=revwidth)
1449 1448 if fp != sys.stdout:
1450 1449 ui.note("%s\n" % fp.name)
General Comments 0
You need to be logged in to leave comments. Login now