mercurial/commands.py
changeset 1832 7a58bf789965
parent 1823 adef8661c8f9
child 1833 fc959d6ffb13
equal deleted inserted replaced
1831:bf118f39afd7 1832:7a58bf789965
  2860                 d = lambda: func(u, *args, **cmdoptions)
  2860                 d = lambda: func(u, *args, **cmdoptions)
  2861 
  2861 
  2862             if options['profile']:
  2862             if options['profile']:
  2863                 import hotshot, hotshot.stats
  2863                 import hotshot, hotshot.stats
  2864                 prof = hotshot.Profile("hg.prof")
  2864                 prof = hotshot.Profile("hg.prof")
  2865                 r = prof.runcall(d)
  2865                 try:
  2866                 prof.close()
  2866                     try:
  2867                 stats = hotshot.stats.load("hg.prof")
  2867                         return prof.runcall(d)
  2868                 stats.strip_dirs()
  2868                     except:
  2869                 stats.sort_stats('time', 'calls')
  2869                         try:
  2870                 stats.print_stats(40)
  2870                             u.warn(_('exception raised - generating profile '
  2871                 return r
  2871                                      'anyway\n'))
       
  2872                         except:
       
  2873                             pass
       
  2874                 finally:
       
  2875                     prof.close()
       
  2876                     stats = hotshot.stats.load("hg.prof")
       
  2877                     stats.strip_dirs()
       
  2878                     stats.sort_stats('time', 'calls')
       
  2879                     stats.print_stats(40)
  2872             else:
  2880             else:
  2873                 return d()
  2881                 return d()
  2874         except:
  2882         except:
  2875             # enter the debugger when we hit an exception
  2883             # enter the debugger when we hit an exception
  2876             if options['debugger']:
  2884             if options['debugger']: