# 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
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,
print
print 'commands:'
print ' help print this message'
+ print ' version display version information'
+ print ' copyright display copyright information'
+ print
cmds = commands.keys()
cmds.sort()
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
option_list = command.options)
options, args = parser.parse_args()
try:
- # the lines below are a simple way to avoid an exception when
+ # '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
- stgit.commands.common.crt_series = stack.Series()
setattr(command, 'crt_series', stgit.commands.common.crt_series)
command.func(parser, options, args)