mercurial/commands.py
changeset 443 470a83212dda
parent 437 5b38a5af4019
child 452 a1e91c24dab5
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -397,8 +397,13 @@ def import_(ui, repo, patch1, *patches, 
             if not quiet:
                 print l
             if l[:14] == 'patching file ':
-                files.append(l[14:])
-        f.close()
+                pf = l[14:]
+                if pf not in files:
+                    files.append(pf)
+        patcherr = f.close()
+        if patcherr:
+            sys.stderr.write("patch failed")
+            sys.exit(1)
 
         if len(files) > 0:
             addremove(ui, repo, *files)