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
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':
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: