Add the 'sync' command
[stgit] / stgit / main.py
index c2797c9..3c8e8f4 100644 (file)
@@ -67,6 +67,7 @@ commands = Commands({
     'series':           'series',
     'show':             'show',
     'status':           'status',
+    'sync':             'sync',
     'top':              'top',
     'unapplied':        'unapplied',
     'uncommit':         'uncommit'
@@ -106,7 +107,8 @@ patchcommands = (
     'pick',
     'refresh',
     'rename',
-    'show'
+    'show',
+    'sync'
     )
 wccommands = (
     'add',
@@ -190,7 +192,8 @@ def main():
             command = commands[cmd]
             parser = OptionParser(usage = command.usage,
                                   option_list = command.options)
-            parser.print_help()
+            from pydoc import pager
+            pager(parser.format_help())
         else:
             print_help()
         sys.exit(0)
@@ -221,7 +224,7 @@ def main():
     # 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
+    from ConfigParser import ParsingError, NoSectionError
     from stgit.stack import Series, StackException
     from stgit.git import GitException
     from stgit.commands.common import CmdException
@@ -240,8 +243,8 @@ def main():
             stgit.commands.common.crt_series = command.crt_series
 
         command.func(parser, options, args)
-    except (IOError, ParsingError, 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: