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, |
|
|
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 |
|
|
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 |
|
|
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, |
|
|
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, |
|
|
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, |
|
|
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, |
|
|
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