equal
deleted
inserted
replaced
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) |