When an error occurs during repository creation, 'bup init' currently
lets GitError exceptions leak out, printing a backtrace to unsuspecting
users in the process.
Intercept GitError exceptions that come out of git.init_repo() and print
out the message that it contains in a more friendly manner.
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
#!/usr/bin/env python
+import sys
+
from bup import git, options, client
from bup.helpers import *
+
optspec = """
[BUP_DIR=...] bup init [-r host:path]
--
o.fatal("no arguments expected")
-if opt.remote:
+try:
git.init_repo() # local repo
+except git.GitError, e:
+ log("bup: error: could not init repository: %s" % e)
+ sys.exit(1)
+
+if opt.remote:
git.check_repo_or_die()
cli = client.Client(opt.remote, create=True)
cli.close()
-else:
- git.init_repo()