Adrian Buehlmann avatar Adrian Buehlmann committed 807eac0

commit: make sure finish() is in scope on exception

Comments (0)

Files changed (1)

tortoisehg/hgtk/commit.py

                 gdialog.Prompt(_('Commit'),
                         _('Unable to create ') + backupdir, self).run()
                 return
+
+        def finish():
+            os.chdir(cwd)
+            # restore backup files
+            try:
+                for realname, tmpname in backups.iteritems():
+                    util.copyfile(tmpname, repo.wjoin(realname))
+                    os.unlink(tmpname)
+                os.rmdir(backupdir)
+            except OSError:
+                pass
+            callback()
+
         try:
             # backup continues
             allchunks = []
                                 _('Unable to apply patch'), self).run()
                         return
 
-            def finish():
-                os.chdir(cwd)
-                # restore backup files
-                try:
-                    for realname, tmpname in backups.iteritems():
-                        util.copyfile(tmpname, repo.wjoin(realname))
-                        os.unlink(tmpname)
-                    os.rmdir(backupdir)
-                except OSError:
-                    pass
-                callback()
-
             # 4. We prepared working directory according to filtered patch.
             #    Now is the time to delegate the job to commit/qrefresh
             #    or the like!
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.