Mercurial > hg-stable
comparison mercurial/patch.py @ 3902:0d27502a804c
Merge with crew-stable
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Fri, 15 Dec 2006 18:38:09 -0800 |
parents | 6b4127c7d52a 2b3175acb653 |
children | ba45041827a2 |
comparison
equal
deleted
inserted
replaced
3898:316cd5b0c940 | 3902:0d27502a804c |
---|---|
623 def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False, | 623 def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False, |
624 opts=None): | 624 opts=None): |
625 '''export changesets as hg patches.''' | 625 '''export changesets as hg patches.''' |
626 | 626 |
627 total = len(revs) | 627 total = len(revs) |
628 revwidth = max(map(len, revs)) | 628 revwidth = max([len(str(rev)) for rev in revs]) |
629 | 629 |
630 def single(node, seqno, fp): | 630 def single(node, seqno, fp): |
631 parents = [p for p in repo.changelog.parents(node) if p != nullid] | 631 parents = [p for p in repo.changelog.parents(node) if p != nullid] |
632 if switch_parent: | 632 if switch_parent: |
633 parents.reverse() | 633 parents.reverse() |
652 | 652 |
653 diff(repo, prev, node, fp=fp, opts=opts) | 653 diff(repo, prev, node, fp=fp, opts=opts) |
654 if fp not in (sys.stdout, repo.ui): | 654 if fp not in (sys.stdout, repo.ui): |
655 fp.close() | 655 fp.close() |
656 | 656 |
657 for seqno, cset in enumerate(revs): | 657 for seqno, rev in enumerate(revs): |
658 single(cset, seqno, fp) | 658 single(repo.lookup(rev), seqno+1, fp) |
659 | 659 |
660 def diffstat(patchlines): | 660 def diffstat(patchlines): |
661 fd, name = tempfile.mkstemp(prefix="hg-patchbomb-", suffix=".txt") | 661 fd, name = tempfile.mkstemp(prefix="hg-patchbomb-", suffix=".txt") |
662 try: | 662 try: |
663 p = popen2.Popen3('diffstat -p1 -w79 2>/dev/null > ' + name) | 663 p = popen2.Popen3('diffstat -p1 -w79 2>/dev/null > ' + name) |