def _checkout(self, project):
        """Performs a shallow clone of the repository into the downloads
        directory. This function can be called repeatedly. If the project has
        already been checked out at this version, it will be a no-op. Returns
        the path to the checked out directory."""
        if len(self.version) != 1:
            dbt.exceptions.raise_dependency_error(
                'Cannot checkout repository until the version is pinned.')
        try:
            dir_ = dbt.clients.git.clone_and_checkout(
                self.git, DOWNLOADS_PATH, branch=self.version[0],
                dirname=self._checkout_name)
        except dbt.exceptions.ExecutableError as exc:
            if exc.cmd and exc.cmd[0] == 'git':
                logger.error(
                    'Make sure git is installed on your machine. More '
                    'information: '
                    'https://docs.getdbt.com/docs/package-management'
                )
            raise
        return os.path.join(DOWNLOADS_PATH, dir_)
def _checkout ( self , project ) : if len ( self . version ) != 1 : dbt . exceptions . raise_dependency_error ( 'Cannot checkout repository until the version is pinned.' ) try : dir_ = dbt . clients . git . clone_and_checkout ( self . git , DOWNLOADS_PATH , branch = self . version [ 0 ] , dirname = self . _checkout_name ) except dbt . exceptions . ExecutableError as exc : if exc . cmd and exc . cmd [ 0 ] == 'git' : logger . error ( 'Make sure git is installed on your machine. More ' 'information: ' 'https://docs.getdbt.com/docs/package-management' ) raise return os . path . join ( DOWNLOADS_PATH , dir_ )
Performs a shallow clone of the repository into the downloads
        directory. This function can be called repeatedly. If the project has
        already been checked out at this version, it will be a no-op. Returns
        the path to the checked out directory.