docs: def parse_options(self, args, depth=0):
          """Parse command line options.
          """
          try:
              options, remaining_args = getopt.gnu_getopt(args,
                  'CPRSTbc:d:eghi:lmnpqsvwz',
                  ('no-commit', 'no-tag', 'no-register', 'no-upload', 'dry-run',
                   'sign', 'identity=', 'dist-location=', 'version', 'help',
                   'push', 'quiet', 'svn', 'hg', 'git', 'develop', 'binary',
                   'list-locations', 'config-file=', 'wheel', 'zip', 'gztar',
                   'manifest-only', 'trace', 'egg', 'no-push'))
          except getopt.GetoptError as e:
              err_exit('mkrelease: %s\n%s' % (e.msg, USAGE))
  
          for name, value in options:
              if name in ('-C', '--no-commit'):
                  self.skipcommit = True
              elif name in ('-T', '--no-tag'):
                  self.skiptag = True
              elif name in ('-R', '--no-register'):
                  self.skipregister = True
              elif name in ('-S', '--no-upload'):
                  self.skipupload = True
              elif name in ('-n', '--dry-run'):
                  self.skipcommit = self.skiptag = self.skipregister = self.skipupload = True
              elif name in ('-p', '--push'):
                  self.push = True
              elif name in ('-P', '--no-push'):   # undocumented
                  self.push = False
              elif name in ('-q', '--quiet'):
                  self.quiet = True
              elif name in ('-s', '--sign'):
                  self.sign = True
              elif name in ('-i', '--identity'):
                  self.identity = value
              elif name in ('-d', '--dist-location'):
                  self.locations.extend(self.locations.get_location(value))
              elif name in ('-l', '--list-locations'):
                  self.list = True
              elif name in ('-m', '--manifest-only'):
                  self.manifest = True
              elif name in ('-h', '--help'):
                  msg_exit(HELP)
              elif name in ('-v', '--version'):
                  msg_exit(VERSION)
              elif name in ('--svn', '--hg', '--git'):
                  self.scmtype = name[2:]
              elif name in ('-e', '--develop'):
                  self.develop = True
              elif name in ('-z', '--zip'):
                  self.formats.append('zip')
              elif name in ('-g', '--gztar'):
                  self.formats.append('gztar')
              elif name in ('-b', '--binary', '--egg'):
                  self.formats.append('egg')
              elif name in ('-w', '--wheel'):
                  self.formats.append('wheel')
              elif name in ('--trace',):          # undocumented
                  os.environ['JARN_TRACE'] = '1'
              elif name in ('-c', '--config-file') and depth == 0:
                  self.reset_defaults(expanduser(value))
                  return self.parse_options(args, depth+1)
  
          return remaining_args