X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/fcee87cf868f18a3d684c3ba71232574f92c7b11..f2944a74ffacb504b6fa092e138c3e7af3ed5ffb:/stgit/main.py diff --git a/stgit/main.py b/stgit/main.py index eb5e63f..07bc7d4 100644 --- a/stgit/main.py +++ b/stgit/main.py @@ -30,15 +30,26 @@ from stgit.commands.common import * # The commands import stgit.commands.add import stgit.commands.applied +import stgit.commands.branch import stgit.commands.delete import stgit.commands.diff +import stgit.commands.clean +import stgit.commands.clone +import stgit.commands.commit import stgit.commands.export import stgit.commands.files +import stgit.commands.fold +import stgit.commands.id +import stgit.commands.imprt import stgit.commands.init +import stgit.commands.mail import stgit.commands.new +import stgit.commands.pick import stgit.commands.pop +import stgit.commands.pull import stgit.commands.push import stgit.commands.refresh +import stgit.commands.rename import stgit.commands.resolved import stgit.commands.rm import stgit.commands.series @@ -53,15 +64,26 @@ import stgit.commands.unapplied commands = { 'add': stgit.commands.add, 'applied': stgit.commands.applied, + 'branch': stgit.commands.branch, 'delete': stgit.commands.delete, 'diff': stgit.commands.diff, + 'clean': stgit.commands.clean, + 'clone': stgit.commands.clone, + 'commit': stgit.commands.commit, 'export': stgit.commands.export, 'files': stgit.commands.files, + 'fold': stgit.commands.fold, + 'id': stgit.commands.id, + 'import': stgit.commands.imprt, 'init': stgit.commands.init, + 'mail': stgit.commands.mail, 'new': stgit.commands.new, + 'pick': stgit.commands.pick, 'pop': stgit.commands.pop, + 'pull': stgit.commands.pull, 'push': stgit.commands.push, 'refresh': stgit.commands.refresh, + 'rename': stgit.commands.rename, 'resolved': stgit.commands.resolved, 'rm': stgit.commands.rm, 'series': stgit.commands.series, @@ -75,6 +97,9 @@ def print_help(): print print 'commands:' print ' help print this message' + print ' version display version information' + print ' copyright display copyright information' + print cmds = commands.keys() cmds.sort() @@ -100,13 +125,17 @@ def main(): if cmd in ['-h', '--help', 'help']: print_help() sys.exit(0) - if cmd in ['-v', '--version']: - print '%s %s' % (prog, version) + if cmd in ['-v', '--version', 'version']: + print 'Stacked GIT %s' % version + print 'Python version %s' % sys.version + sys.exit(0) + if cmd in ['copyright']: + print __copyright__ sys.exit(0) if not cmd in commands: print >> sys.stderr, 'Unknown command: %s' % cmd - print >> sys.stderr, ' Try "%s help" for a list of supported commands' \ - % prog + print >> sys.stderr, ' Try "%s help" for a list of supported ' \ + 'commands' % prog sys.exit(1) # re-build the command line arguments @@ -118,6 +147,17 @@ def main(): option_list = command.options) options, args = parser.parse_args() try: + # 'clone' doesn't expect an already initialised GIT tree + if cmd == 'clone': + stgit.commands.common.crt_series = stack.Series('master') + elif hasattr(options, 'branch') and options.branch: + stgit.commands.common.crt_series = stack.Series(options.branch) + else: + stgit.commands.common.crt_series = stack.Series() + # the line below is a simple way to avoid an exception when + # stgit is run outside an initialised tree + setattr(command, 'crt_series', stgit.commands.common.crt_series) + command.func(parser, options, args) except (IOError, CmdException, stack.StackException, git.GitException), \ err: