comparison mercurial/patch.py @ 3327:319358e6bd96

Don't generate git diff header for empty diffs
author Brendan Cully <brendan@kublai.com>
date Tue, 10 Oct 2006 14:48:26 -0700
parents 35d61e653174
children 7f486971d263
comparison
equal deleted inserted replaced
3326:415905fad4fe 3327:319358e6bd96
465 all.sort() 465 all.sort()
466 for f in all: 466 for f in all:
467 to = None 467 to = None
468 tn = None 468 tn = None
469 dodiff = True 469 dodiff = True
470 header = []
470 if f in mmap: 471 if f in mmap:
471 to = getfile(f).read(mmap[f]) 472 to = getfile(f).read(mmap[f])
472 if f not in removed: 473 if f not in removed:
473 tn = read(f) 474 tn = read(f)
474 if opts.git: 475 if opts.git:
478 if omode != nmode: 479 if omode != nmode:
479 header.append('old mode %s\n' % omode) 480 header.append('old mode %s\n' % omode)
480 header.append('new mode %s\n' % nmode) 481 header.append('new mode %s\n' % nmode)
481 482
482 a, b = f, f 483 a, b = f, f
483 header = []
484 if f in added: 484 if f in added:
485 if node2: 485 if node2:
486 mode = gitmode(mmap2.execf(f)) 486 mode = gitmode(mmap2.execf(f))
487 else: 487 else:
488 mode = gitmode(util.is_exec(repo.wjoin(f), None)) 488 mode = gitmode(util.is_exec(repo.wjoin(f), None))
508 nmode = gitmode(mmap2.execf(f)) 508 nmode = gitmode(mmap2.execf(f))
509 else: 509 else:
510 nmode = gitmode(util.is_exec(repo.wjoin(f), mmap.execf(f))) 510 nmode = gitmode(util.is_exec(repo.wjoin(f), mmap.execf(f)))
511 addmodehdr(header, omode, nmode) 511 addmodehdr(header, omode, nmode)
512 r = None 512 r = None
513 if dodiff: 513 header.insert(0, 'diff --git a/%s b/%s\n' % (a, b))
514 header.insert(0, 'diff --git a/%s b/%s\n' % (a, b)) 514 if dodiff:
515 text = mdiff.unidiff(to, date1, tn, date2(f), f, r, opts=opts)
516 if text or len(header) > 1:
515 fp.write(''.join(header)) 517 fp.write(''.join(header))
516 if dodiff: 518 fp.write(text)
517 fp.write(mdiff.unidiff(to, date1, tn, date2(f), f, r, opts=opts))
518 519
519 def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False, 520 def export(repo, revs, template='hg-%h.patch', fp=None, switch_parent=False,
520 opts=None): 521 opts=None):
521 '''export changesets as hg patches.''' 522 '''export changesets as hg patches.'''
522 523