code: def get_options(self):
          
          args = self.parse_options(self.args)
  
          if args:
              self.directory = args[0]
  
          if self.develop:
              self.skiptag = True
          if not self.develop:
              self.develop = self.defaults.develop
          if not self.develop:
              self.infoflags = self.setuptools.infoflags
  
          if not self.formats:
              self.formats = self.defaults.formats
  
          for format in self.formats:
              if format == 'zip':
                  self.distributions.append(('sdist', ['--formats="zip"']))
              elif format == 'gztar':
                  self.distributions.append(('sdist', ['--formats="gztar"']))
              elif format == 'egg':
                  self.distributions.append(('bdist', ['--formats="egg"']))
              elif format == 'wheel':
                  self.distributions.append(('bdist_wheel', []))
  
          if not self.distributions:
              self.distributions.append(('sdist', ['--formats="zip"']))
  
          if self.list:
              self.list_locations()
  
          if not self.locations:
              self.locations.extend(self.locations.get_default_location())
  
          if not (self.skipregister and self.skipupload):
              if not (self.get_skipregister() and self.get_skipupload()):
                  self.locations.check_empty_locations()
              self.locations.check_valid_locations()
  
          if len(args) > 1:
              if self.urlparser.is_url(self.directory):
                  self.branch = args[1]
              elif self.urlparser.is_ssh_url(self.directory):
                  self.branch = args[1]
              else:
                  err_exit('mkrelease: invalid arguments\n%s' % USAGE)
  
          if len(args) > 2:
              err_exit('mkrelease: too many arguments\n%s' % USAGE)
docs: Process the command line.