Show More
@@ -114,8 +114,11 b' def revrange(ui, repo, revs, revlog=None' | |||||
114 | else: |
|
114 | else: | |
115 | yield spec |
|
115 | yield spec | |
116 |
|
116 | |||
117 |
def make_file |
|
117 | def make_file(repo, r, pat, node=None, | |
118 |
|
|
118 | total=None, seqno=None, revwidth=None, mode='wb'): | |
|
119 | if pat == '-': | |||
|
120 | if 'w' in mode: return sys.stdout | |||
|
121 | else: return sys.stdin | |||
119 | node_expander = { |
|
122 | node_expander = { | |
120 | 'H': lambda: hg.hex(node), |
|
123 | 'H': lambda: hg.hex(node), | |
121 | 'R': lambda: str(r.rev(node)), |
|
124 | 'R': lambda: str(r.rev(node)), | |
@@ -149,7 +152,7 b' def make_filename(repo, r, pat, node=Non' | |||||
149 | c = expander[c]() |
|
152 | c = expander[c]() | |
150 | newname.append(c) |
|
153 | newname.append(c) | |
151 | i += 1 |
|
154 | i += 1 | |
152 | return ''.join(newname) |
|
155 | return open(''.join(newname), mode) | |
153 | except KeyError, inst: |
|
156 | except KeyError, inst: | |
154 | raise Abort("invalid format spec '%%%s' in output file name", |
|
157 | raise Abort("invalid format spec '%%%s' in output file name", | |
155 | inst.args[0]) |
|
158 | inst.args[0]) | |
@@ -409,10 +412,7 b' def cat(ui, repo, file1, rev=None, **opt' | |||||
409 | n = r.lookup(rev) |
|
412 | n = r.lookup(rev) | |
410 | else: |
|
413 | else: | |
411 | n = r.tip() |
|
414 | n = r.tip() | |
412 | if opts['output'] and opts['output'] != '-': |
|
415 | fp = make_file(repo, r, opts['output'], node=n) | |
413 | fp = open(make_filename(repo, r, opts['output'], node=n), 'wb') |
|
|||
414 | else: |
|
|||
415 | fp = sys.stdout |
|
|||
416 | fp.write(r.read(n)) |
|
416 | fp.write(r.read(n)) | |
417 |
|
417 | |||
418 | def clone(ui, source, dest=None, **opts): |
|
418 | def clone(ui, source, dest=None, **opts): | |
@@ -570,14 +570,11 b' def doexport(ui, repo, changeset, seqno,' | |||||
570 | prev, other = repo.changelog.parents(node) |
|
570 | prev, other = repo.changelog.parents(node) | |
571 | change = repo.changelog.read(node) |
|
571 | change = repo.changelog.read(node) | |
572 |
|
572 | |||
573 | if opts['output'] and opts['output'] != '-': |
|
573 | fp = make_file(repo, repo.changelog, opts['output'], | |
574 | outname = make_filename(repo, repo.changelog, opts['output'], |
|
574 | node=node, total=total, seqno=seqno, | |
575 | node=node, total=total, seqno=seqno, |
|
575 | revwidth=revwidth) | |
576 | revwidth=revwidth) |
|
576 | if fp != sys.stdout: | |
577 |
ui.note("Exporting patch to '%s'.\n" % |
|
577 | ui.note("Exporting patch to '%s'.\n" % fp.name) | |
578 | fp = open(outname, 'wb') |
|
|||
579 | else: |
|
|||
580 | fp = sys.stdout |
|
|||
581 |
|
578 | |||
582 | fp.write("# HG changeset patch\n") |
|
579 | fp.write("# HG changeset patch\n") | |
583 | fp.write("# User %s\n" % change[1]) |
|
580 | fp.write("# User %s\n" % change[1]) |
General Comments 0
You need to be logged in to leave comments.
Login now