patch: move closefile() into patchfile.close()
authorPatrick Mezard <pmezard@gmail.com>
Sun, 20 Mar 2011 00:22:47 +0100
changeset 13701 bc38ff7cb919
parent 13700 63307feb59dd
child 13702 ffd370aa050b
patch: move closefile() into patchfile.close()
mercurial/patch.py
--- a/mercurial/patch.py	Sun Mar 20 00:09:44 2011 +0100
+++ b/mercurial/patch.py	Sun Mar 20 00:22:47 2011 +0100
@@ -610,6 +610,12 @@
         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 @@
     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 @@
                 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 @@
         else:
             raise util.Abort(_('unsupported parser state: %s') % state)
 
-    rejects += closefile()
+    if current_file:
+        rejects += current_file.close()
 
     if rejects:
         return -1