Implement a 'pick' command for cherry-picking
[stgit] / stgit / main.py
index fee0cc1..857e60b 100644 (file)
@@ -36,10 +36,13 @@ import stgit.commands.clean
 import stgit.commands.clone
 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
@@ -65,10 +68,13 @@ commands = {
     'clone':    stgit.commands.clone,
     '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,
@@ -87,6 +93,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()
@@ -112,13 +121,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
@@ -133,6 +146,8 @@ def main():
         # '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