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