Mercurial > public > mercurial-scm > hg
comparison mercurial/patch.py @ 3900:2b3175acb653
Don't use node length for calculating revision number length.
Done by moving repo.lookup of revisions from commands.export to patch.export
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 15 Dec 2006 19:30:20 +0100 |
parents | 504dee0abeac |
children | 0d27502a804c 4ced663bebf0 |
comparison
equal
deleted
inserted
replaced
3899:504dee0abeac | 3900:2b3175acb653 |
---|---|
624 def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False, | 624 def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False, |
625 opts=None): | 625 opts=None): |
626 '''export changesets as hg patches.''' | 626 '''export changesets as hg patches.''' |
627 | 627 |
628 total = len(revs) | 628 total = len(revs) |
629 revwidth = max(map(len, revs)) | 629 revwidth = max([len(str(rev)) for rev in revs]) |
630 | 630 |
631 def single(node, seqno, fp): | 631 def single(node, seqno, fp): |
632 parents = [p for p in repo.changelog.parents(node) if p != nullid] | 632 parents = [p for p in repo.changelog.parents(node) if p != nullid] |
633 if switch_parent: | 633 if switch_parent: |
634 parents.reverse() | 634 parents.reverse() |
653 | 653 |
654 diff(repo, prev, node, fp=fp, opts=opts) | 654 diff(repo, prev, node, fp=fp, opts=opts) |
655 if fp not in (sys.stdout, repo.ui): | 655 if fp not in (sys.stdout, repo.ui): |
656 fp.close() | 656 fp.close() |
657 | 657 |
658 for seqno, cset in enumerate(revs): | 658 for seqno, rev in enumerate(revs): |
659 single(cset, seqno+1, fp) | 659 single(repo.lookup(rev), seqno+1, fp) |
660 | 660 |
661 def diffstat(patchlines): | 661 def diffstat(patchlines): |
662 fd, name = tempfile.mkstemp(prefix="hg-patchbomb-", suffix=".txt") | 662 fd, name = tempfile.mkstemp(prefix="hg-patchbomb-", suffix=".txt") |
663 try: | 663 try: |
664 p = popen2.Popen3('diffstat -p1 -w79 2>/dev/null > ' + name) | 664 p = popen2.Popen3('diffstat -p1 -w79 2>/dev/null > ' + name) |