git prints the error *before* the usage message, but the more I play with
it, the more I'm annoyed by that behaviour. The usage message can be pretty
long, and the error gots lost way above the usage message. The most
important thing *is* the error, so let's print it last.
Signed-off-by: Avery Pennarun <apenwarr@gmail.com>
def usage(self, msg=""):
"""Print usage string to stderr and abort."""
sys.stderr.write(self._usagestr)
def usage(self, msg=""):
"""Print usage string to stderr and abort."""
sys.stderr.write(self._usagestr)
+ if msg:
+ sys.stderr.write(msg)
e = self._onabort and self._onabort(msg) or None
if e:
raise e
e = self._onabort and self._onabort(msg) or None
if e:
raise e
"""Print an error message to stderr and abort with usage string."""
"""Print an error message to stderr and abort with usage string."""
- msg = 'error: %s\n' % s
- sys.stderr.write(msg)
+ msg = '\nerror: %s\n' % msg
return self.usage(msg)
def parse(self, args):
return self.usage(msg)
def parse(self, args):
# after running 'bup newliner', the tty_width() ioctl won't work anymore
os.environ['WIDTH'] = str(tty_width())
# after running 'bup newliner', the tty_width() ioctl won't work anymore
os.environ['WIDTH'] = str(tty_width())
log('Usage: bup [-?|--help] [-d BUP_DIR] [--debug] [--profile] '
'<command> [options...]\n\n')
common = dict(
log('Usage: bup [-?|--help] [-d BUP_DIR] [--debug] [--profile] '
'<command> [options...]\n\n')
common = dict(
log("See 'bup help COMMAND' for more information on " +
"a specific command.\n")
log("See 'bup help COMMAND' for more information on " +
"a specific command.\n")
+ if msg:
+ log("\n%s\n" % msg)
optspec = ['help', 'version', 'debug', 'profile', 'bup-dir=']
global_args, subcmd = getopt.getopt(argv[1:], '?VDd:', optspec)
except getopt.GetoptError, ex:
optspec = ['help', 'version', 'debug', 'profile', 'bup-dir=']
global_args, subcmd = getopt.getopt(argv[1:], '?VDd:', optspec)
except getopt.GetoptError, ex:
- log('error: ' + ex.msg + '\n')
- usage()
+ usage('error: %s' % ex.msg)
help_requested = None
dest_dir = None
help_requested = None
dest_dir = None
elif opt[0] in ['-d', '--bup-dir']:
dest_dir = opt[1]
else:
elif opt[0] in ['-d', '--bup-dir']:
dest_dir = opt[1]
else:
- log('error: unexpected option "%s"\n' % opt[0])
- usage()
+ usage('error: unexpected option "%s"' % opt[0])
if len(subcmd) == 0:
if help_requested:
if len(subcmd) == 0:
if help_requested:
subcmd[0] = subpath(subcmd_name)
if not os.path.exists(subcmd[0]):
subcmd[0] = subpath(subcmd_name)
if not os.path.exists(subcmd[0]):
- log('error: unknown command "%s"\n' % subcmd_name)
- usage()
+ usage('error: unknown command "%s"' % subcmd_name)
already_fixed = atoi(os.environ.get('BUP_FORCE_TTY'))
if subcmd_name in ['mux', 'ftp', 'help']:
already_fixed = atoi(os.environ.get('BUP_FORCE_TTY'))
if subcmd_name in ['mux', 'ftp', 'help']: