parameters: (
  
          cls,
  
          cmd,  # type: Union[List[str], CommandArgs]
  
          show_stdout=True,  # type: bool
  
          cwd=None,  # type: Optional[str]
  
          on_returncode='raise',  # type: str
  
          extra_ok_returncodes=None,  # type: Optional[Iterable[int]]
  
          command_desc=None,  # type: Optional[str]
  
          extra_environ=None,  # type: Optional[Mapping[str, Any]]
  
          spinner=None,  # type: Optional[SpinnerInterface]
  
          log_failed_cmd=True,  # type: bool
  
          stdout_only=False,  # type: bool
  
      )
docstring: Run a VCS subcommand
  
          This is simply a wrapper around call_subprocess that adds the VCS
  
          command name, and checks that the VCS is available
function: def run_command(
  
          cls,
  
          cmd,  # type: Union[List[str], CommandArgs]
  
          show_stdout=True,  # type: bool
  
          cwd=None,  # type: Optional[str]
  
          on_returncode='raise',  # type: str
  
          extra_ok_returncodes=None,  # type: Optional[Iterable[int]]
  
          command_desc=None,  # type: Optional[str]
  
          extra_environ=None,  # type: Optional[Mapping[str, Any]]
  
          spinner=None,  # type: Optional[SpinnerInterface]
  
          log_failed_cmd=True,  # type: bool
  
          stdout_only=False,  # type: bool
  
      ):
  
          # type: (...) -> str
  
          """
  
          Run a VCS subcommand
  
          This is simply a wrapper around call_subprocess that adds the VCS
  
          command name, and checks that the VCS is available
  
          """
  
          cmd = make_command(cls.name, *cmd)
  
          try:
  
              return call_subprocess(cmd, show_stdout, cwd,
  
                                     on_returncode=on_returncode,
  
                                     extra_ok_returncodes=extra_ok_returncodes,
  
                                     command_desc=command_desc,
  
                                     extra_environ=extra_environ,
  
                                     unset_environ=cls.unset_environ,
  
                                     spinner=spinner,
  
                                     log_failed_cmd=log_failed_cmd,
  
                                     stdout_only=stdout_only)
  
          except FileNotFoundError:
  
              # errno.ENOENT = no such file or directory
  
              # In other words, the VCS executable isn't available
  
              raise BadCommand(
  
                  'Cannot find command {cls.name!r} - do you have '
  
                  '{cls.name!r} installed and in your '
  
                  'PATH?'.format(**locals()))
function_tokens: def run_command ( cls , cmd , # type: Union[List[str], CommandArgs] show_stdout = True , # type: bool cwd = None , # type: Optional[str] on_returncode = 'raise' , # type: str extra_ok_returncodes = None , # type: Optional[Iterable[int]] command_desc = None , # type: Optional[str] extra_environ = None , # type: Optional[Mapping[str, Any]] spinner = None , # type: Optional[SpinnerInterface] log_failed_cmd = True , # type: bool stdout_only = False , # type: bool ) : # type: (...) -> str cmd = make_command ( cls . name , * cmd ) try : return call_subprocess ( cmd , show_stdout , cwd , on_returncode = on_returncode , extra_ok_returncodes = extra_ok_returncodes , command_desc = command_desc , extra_environ = extra_environ , unset_environ = cls . unset_environ , spinner = spinner , log_failed_cmd = log_failed_cmd , stdout_only = stdout_only ) except FileNotFoundError : # errno.ENOENT = no such file or directory # In other words, the VCS executable isn't available raise BadCommand ( 'Cannot find command {cls.name!r} - do you have ' '{cls.name!r} installed and in your ' 'PATH?' . format ( * * locals ( ) ) )