(
        cls,
        cmd,  # type: List[str]
        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]
    )
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
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
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
def run_command(
        cls,
        cmd,  # type: List[str]
        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]
    ):
        # type: (...) -> Text
        """
        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 = [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)
        except OSError as e:
            # errno.ENOENT = no such file or directory
            # In other words, the VCS executable isn't available
            if e.errno == errno.ENOENT:
                raise BadCommand(
                    'Cannot find command %r - do you have '
                    '%r installed and in your '
                    'PATH?' % (cls.name, cls.name))
            else:
                raise
def run_command ( cls , cmd , # type: List[str] 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] ) : # type: (...) -> Text cmd = [ 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 ) except OSError as e : # errno.ENOENT = no such file or directory # In other words, the VCS executable isn't available if e . errno == errno . ENOENT : raise BadCommand ( 'Cannot find command %r - do you have ' '%r installed and in your ' 'PATH?' % ( cls . name , cls . name ) ) else : raise