mercurial/patch.py
changeset 6179 36ab165abbe2
parent 6042 2da5b19a6460
child 6211 f89fd07fc51d
equal deleted inserted replaced
6178:81afdd016867 6179:36ab165abbe2
   888     # our states
   888     # our states
   889     BFILE = 1
   889     BFILE = 1
   890     context = None
   890     context = None
   891     lr = linereader(fp)
   891     lr = linereader(fp)
   892     dopatch = True
   892     dopatch = True
       
   893     # gitworkdone is True if a git operation (copy, rename, ...) was
       
   894     # performed already for the current file. Useful when the file
       
   895     # section may have no hunk.
   893     gitworkdone = False
   896     gitworkdone = False
   894 
   897 
   895     while True:
   898     while True:
   896         newfile = False
   899         newfile = False
   897         x = lr.readline()
   900         x = lr.readline()
   936                     yield 'git', gitpatches
   939                     yield 'git', gitpatches
   937                     for gp in gitpatches:
   940                     for gp in gitpatches:
   938                         changed[gp.path] = (gp.op, gp)
   941                         changed[gp.path] = (gp.op, gp)
   939                 # else error?
   942                 # else error?
   940                 # copy/rename + modify should modify target, not source
   943                 # copy/rename + modify should modify target, not source
   941                 if changed.get(bfile[2:], (None, None))[0] in ('COPY',
   944                 gitop = changed.get(bfile[2:], (None, None))[0]
   942                                                                'RENAME'):
   945                 if gitop in ('COPY', 'DELETE', 'RENAME'):
   943                     afile = bfile
   946                     afile = bfile
   944                     gitworkdone = True
   947                     gitworkdone = True
   945             newfile = True
   948             newfile = True
   946         elif x.startswith('---'):
   949         elif x.startswith('---'):
   947             # check for a unified diff
   950             # check for a unified diff