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)