X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/c333afcf5feb13f23746410a14aa9d42efc9ff01..9e3f506f0d0e1b0c09d1e9d7051af23bfede7834:/stgit/main.py diff --git a/stgit/main.py b/stgit/main.py index d0e7230..c2af585 100644 --- a/stgit/main.py +++ b/stgit/main.py @@ -22,10 +22,6 @@ import sys, os from optparse import OptionParser import stgit.commands -from stgit.stack import Series, StackException -from stgit.git import GitException -from stgit.commands.common import CmdException -from stgit.gitmergeonefile import GitMergeException # # The commands map @@ -221,7 +217,19 @@ def main(): usage = command.usage.split('\n')[0].strip() parser = OptionParser(usage = usage, option_list = command.options) options, args = parser.parse_args() + + # These modules are only used from this point onwards and do not + # need to be imported earlier + from stgit.config import config_setup + from ConfigParser import ParsingError, NoSectionError + from stgit.stack import Series, StackException + from stgit.git import GitException + from stgit.commands.common import CmdException + from stgit.gitmergeonefile import GitMergeException + try: + config_setup() + # 'clone' doesn't expect an already initialised GIT tree. A Series # object will be created after the GIT tree is cloned if cmd != 'clone': @@ -232,8 +240,8 @@ def main(): stgit.commands.common.crt_series = command.crt_series command.func(parser, options, args) - except (IOError, CmdException, StackException, GitException, - GitMergeException), err: + except (IOError, ParsingError, NoSectionError, CmdException, + StackException, GitException, GitMergeException), err: print >> sys.stderr, '%s %s: %s' % (prog, cmd, err) sys.exit(2) except KeyboardInterrupt: