async def METHOD_NAME(self) -> None:
    """Clone git add-on repository."""
    async with self.lock:
        git_args = {
            attribute: value
            for attribute, value in (
                ("recursive", True),
                ("branch", self.branch),
                ("depth", 1),
                ("shallow-submodules", True),
            )
            if value is not None
        }
        try:
            _LOGGER.info("Cloning add-on %s repository", self.url)
            self.repo = await self.sys_run_in_executor(
                ft.partial(
                    git.Repo.clone_from, self.url, str(self.path), **git_args
                )
            )
        except (
            git.InvalidGitRepositoryError,
            git.NoSuchPathError,
            git.CommandError,
            UnicodeDecodeError,
        ) as err:
            _LOGGER.error("Can't clone %s repository: %s.", self.url, err)
            raise StoreGitCloneError() from err