mercurial/cmdutil.py
changeset 13400 14f3795a5ed7
parent 13386 f78bc5ddbe4f
child 13467 31aa2e5b0750
equal deleted inserted replaced
13399:eff102facb15 13400:14f3795a5ed7
   677         branch = ctx.branch()
   677         branch = ctx.branch()
   678         if switch_parent:
   678         if switch_parent:
   679             parents.reverse()
   679             parents.reverse()
   680         prev = (parents and parents[0]) or nullid
   680         prev = (parents and parents[0]) or nullid
   681 
   681 
       
   682         shouldclose = False
   682         if not fp:
   683         if not fp:
       
   684             shouldclose = True
   683             fp = make_file(repo, template, node, total=total, seqno=seqno,
   685             fp = make_file(repo, template, node, total=total, seqno=seqno,
   684                            revwidth=revwidth, mode='ab')
   686                            revwidth=revwidth, mode='ab')
   685         if fp != sys.stdout and hasattr(fp, 'name'):
   687         if fp != sys.stdout and hasattr(fp, 'name'):
   686             repo.ui.note("%s\n" % fp.name)
   688             repo.ui.note("%s\n" % fp.name)
   687 
   689 
   698         fp.write("\n\n")
   700         fp.write("\n\n")
   699 
   701 
   700         for chunk in patch.diff(repo, prev, node, opts=opts):
   702         for chunk in patch.diff(repo, prev, node, opts=opts):
   701             fp.write(chunk)
   703             fp.write(chunk)
   702 
   704 
   703         fp.flush()
   705         if shouldclose:
       
   706             fp.close()
   704 
   707 
   705     for seqno, rev in enumerate(revs):
   708     for seqno, rev in enumerate(revs):
   706         single(rev, seqno + 1, fp)
   709         single(rev, seqno + 1, fp)
   707 
   710 
   708 def diffordiffstat(ui, repo, diffopts, node1, node2, match,
   711 def diffordiffstat(ui, repo, diffopts, node1, node2, match,