# HG changeset patch # User Patrick Mezard # Date 2011-03-19 23:22:47 # Node ID bc38ff7cb91917765d25b366ccc91d63dccd4b92 # Parent 63307feb59dd039e42a0961781bd6a116b746e55 patch: move closefile() into patchfile.close() diff --git a/mercurial/patch.py b/mercurial/patch.py --- a/mercurial/patch.py +++ b/mercurial/patch.py @@ -610,6 +610,12 @@ class patchfile(object): self.rej.append(horig) return -1 + def close(self): + if self.dirty: + self.writelines(self.fname, self.lines) + self.write_rej() + return len(self.rej) + class hunk(object): def __init__(self, desc, num, lr, context, create=False, remove=False): self.number = num @@ -1107,14 +1113,6 @@ def _applydiff(ui, fp, patcher, copyfn, cwd = os.getcwd() opener = util.opener(cwd) - def closefile(): - if not current_file: - return 0 - if current_file.dirty: - current_file.writelines(current_file.fname, current_file.lines) - current_file.write_rej() - return len(current_file.rej) - for state, values in iterhunks(ui, fp): if state == 'hunk': if not current_file: @@ -1125,7 +1123,8 @@ def _applydiff(ui, fp, patcher, copyfn, if ret > 0: err = 1 elif state == 'file': - rejects += closefile() + if current_file: + rejects += current_file.close() afile, bfile, first_hunk = values try: current_file, missing = selectfile(afile, bfile, @@ -1150,7 +1149,8 @@ def _applydiff(ui, fp, patcher, copyfn, else: raise util.Abort(_('unsupported parser state: %s') % state) - rejects += closefile() + if current_file: + rejects += current_file.close() if rejects: return -1