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