@cli.register_custom_action('<STR_LIT>', tuple(), ('<STR_LIT>', ))<EOL><INDENT>@exc.on_http_error(exc.GitlabListError)<EOL>def repository_archive(self, sha=None, streamed=False, action=None,<EOL>chunk_size=<NUM_LIT>, **kwargs):<DEDENT>
path = '<STR_LIT>' % self.get_id()<EOL>query_data = {}<EOL>if sha:<EOL><INDENT>query_data['<STR_LIT>'] = sha<EOL><DEDENT>result = self.manager.gitlab.http_get(path, query_data=query_data,<EOL>raw=True, streamed=streamed,<EOL>**kwargs)<EOL>return utils.response_content(result, streamed, action, chunk_size)<EOL>
Return a tarball of the repository.

        Args:
            sha (str): ID of the commit (default branch by default)
            streamed (bool): If True the data will be processed by chunks of
                `chunk_size` and each chunk is passed to `action` for
                treatment
            action (callable): Callable responsible of dealing with chunk of
                data
            chunk_size (int): Size of each chunk
            **kwargs: Extra options to send to the server (e.g. sudo)

        Raises:
            GitlabAuthenticationError: If authentication is not correct
            GitlabListError: If the server failed to perform the request

        Returns:
            str: The binary data of the archive