##// END OF EJS Templates
Catch other exceptions (e.g. util.Abort) in parse(), too....
Thomas Arendsen Hein -
r1875:2f4a0734 default
parent child Browse files
Show More
@@ -2796,44 +2796,26 b' def dispatch(args):'
2796
2796
2797 try:
2797 try:
2798 cmd, func, args, options, cmdoptions = parse(u, args)
2798 cmd, func, args, options, cmdoptions = parse(u, args)
2799 except ParseError, inst:
2799 if options["time"]:
2800 if inst.args[0]:
2800 def get_times():
2801 u.warn(_("hg %s: %s\n") % (inst.args[0], inst.args[1]))
2801 t = os.times()
2802 help_(u, inst.args[0])
2802 if t[4] == 0.0: # Windows leaves this as zero, so use time.clock()
2803 else:
2803 t = (t[0], t[1], t[2], t[3], time.clock())
2804 u.warn(_("hg: %s\n") % inst.args[1])
2804 return t
2805 help_(u, 'shortlist')
2805 s = get_times()
2806 sys.exit(-1)
2806 def print_time():
2807 except AmbiguousCommand, inst:
2807 t = get_times()
2808 u.warn(_("hg: command '%s' is ambiguous:\n %s\n") %
2808 u.warn(_("Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n") %
2809 (inst.args[0], " ".join(inst.args[1])))
2809 (t[4]-s[4], t[0]-s[0], t[2]-s[2], t[1]-s[1], t[3]-s[3]))
2810 sys.exit(1)
2810 atexit.register(print_time)
2811 except UnknownCommand, inst:
2811
2812 u.warn(_("hg: unknown command '%s'\n") % inst.args[0])
2812 u.updateopts(options["verbose"], options["debug"], options["quiet"],
2813 help_(u, 'shortlist')
2813 not options["noninteractive"])
2814 sys.exit(1)
2814
2815
2815 # enter the debugger before command execution
2816 if options["time"]:
2816 if options['debugger']:
2817 def get_times():
2817 pdb.set_trace()
2818 t = os.times()
2818
2819 if t[4] == 0.0: # Windows leaves this as zero, so use time.clock()
2820 t = (t[0], t[1], t[2], t[3], time.clock())
2821 return t
2822 s = get_times()
2823 def print_time():
2824 t = get_times()
2825 u.warn(_("Time: real %.3f secs (user %.3f+%.3f sys %.3f+%.3f)\n") %
2826 (t[4]-s[4], t[0]-s[0], t[2]-s[2], t[1]-s[1], t[3]-s[3]))
2827 atexit.register(print_time)
2828
2829 u.updateopts(options["verbose"], options["debug"], options["quiet"],
2830 not options["noninteractive"])
2831
2832 # enter the debugger before command execution
2833 if options['debugger']:
2834 pdb.set_trace()
2835
2836 try:
2837 try:
2819 try:
2838 if options['cwd']:
2820 if options['cwd']:
2839 try:
2821 try:
@@ -2901,6 +2883,22 b' def dispatch(args):'
2901 if options['traceback']:
2883 if options['traceback']:
2902 traceback.print_exc()
2884 traceback.print_exc()
2903 raise
2885 raise
2886 except ParseError, inst:
2887 if inst.args[0]:
2888 u.warn(_("hg %s: %s\n") % (inst.args[0], inst.args[1]))
2889 help_(u, inst.args[0])
2890 else:
2891 u.warn(_("hg: %s\n") % inst.args[1])
2892 help_(u, 'shortlist')
2893 sys.exit(-1)
2894 except AmbiguousCommand, inst:
2895 u.warn(_("hg: command '%s' is ambiguous:\n %s\n") %
2896 (inst.args[0], " ".join(inst.args[1])))
2897 sys.exit(1)
2898 except UnknownCommand, inst:
2899 u.warn(_("hg: unknown command '%s'\n") % inst.args[0])
2900 help_(u, 'shortlist')
2901 sys.exit(1)
2904 except hg.RepoError, inst:
2902 except hg.RepoError, inst:
2905 u.warn(_("abort: "), inst, "!\n")
2903 u.warn(_("abort: "), inst, "!\n")
2906 except revlog.RevlogError, inst:
2904 except revlog.RevlogError, inst:
@@ -2947,13 +2945,6 b' def dispatch(args):'
2947 u.debug(inst, "\n")
2945 u.debug(inst, "\n")
2948 u.warn(_("%s: invalid arguments\n") % cmd)
2946 u.warn(_("%s: invalid arguments\n") % cmd)
2949 help_(u, cmd)
2947 help_(u, cmd)
2950 except AmbiguousCommand, inst:
2951 u.warn(_("hg: command '%s' is ambiguous:\n %s\n") %
2952 (inst.args[0], " ".join(inst.args[1])))
2953 help_(u, 'shortlist')
2954 except UnknownCommand, inst:
2955 u.warn(_("hg: unknown command '%s'\n") % inst.args[0])
2956 help_(u, 'shortlist')
2957 except SystemExit:
2948 except SystemExit:
2958 # don't catch this in the catch-all below
2949 # don't catch this in the catch-all below
2959 raise
2950 raise
General Comments 0
You need to be logged in to leave comments. Login now