Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.7, 0.7.1, and 0.7.2

rename: improve error handling

Some errors only cause warnings to stderr, which is regrettable.
But those are not fatal or data loss errors, just refusal to
destroy data.

Changeset a770a5a0702b

Parent ebc244134a0b

by Steve Borho

Changes to one file · Browse files at a770a5a0702b Showing diff from parent ebc244134a0b Diff from another changeset...

Change 1 of 3 Show Entire File hggtk/​rename.py Stacked
 
8
9
10
11
 
12
13
14
 
42
43
44
45
46
47
48
 
59
60
61
62
63
64
65
66
 
 
 
 
 
67
68
69
70
 
71
72
73
 
8
9
10
 
11
12
13
14
 
42
43
44
 
45
46
47
 
58
59
60
 
 
 
 
 
61
62
63
64
65
66
 
 
 
67
68
69
70
@@ -8,7 +8,7 @@
 import sys  import gtk  from shlib import shell_notify -from mercurial import hg, ui, commands, match +from mercurial import hg, ui, commands, util  from mercurial.repo import RepoError    class DetectRenameDialog(gtk.Window): @@ -42,7 +42,6 @@
   def rename_resp(dialog, response):   if response != gtk.RESPONSE_OK: - print 'no response'   gtk.main_quit()   return   try: @@ -59,15 +58,13 @@
  opts['after'] = False   opts['dry_run'] = False   - # Sigh, some errors go to stdout, which is regrettable - repo.ui.pushbuffer() - commands.rename(repo.ui, repo, dialog.orig, new_name, **opts) - out = repo.ui.popbuffer() - if out: + try: + # Sigh, some errors go to ui.warn(), which is regrettable + commands.rename(repo.ui, repo, dialog.orig, new_name, **opts) + gtk.main_quit() + except util.Abort, e:   from dialog import error_dialog - dialog = error_dialog(None, 'rename error', out) - dialog.run() - gtk.main_quit() + error_dialog(None, 'rename error', str(e))    if __name__ == "__main__":   opts = {'fname' : sys.argv[1]}