Known subclasses: gbp.deb.git.DebianGitRepository, gbp.rpm.git.RpmGitRepository

A git repository that holds the source of a Distro package

Method __init__ No summary
Static Method sanitize_prefix Make sure git-archive prefix ends with a slash
Method archive_comp Create a compressed source tree archive with the given options
Method _archive_comp_submodules Create a compressed source tree archive with submodules.
Method _archive_comp_single Create a compressed source tree archive without submodules

Inherited from GitRepository:

Method path The absolute path to the repository
Method git_dir The absolute path to git's metadata
Method bare Whether this is a bare repository
Method tags List of all tags in the repository
Method branch The currently checked out branch
Method head SHA1 of the current HEAD
Method rename_branch Rename branch
Method create_branch Create a new branch
Method delete_branch Delete branch branch
Method get_branch On what branch is the current working copy
Method has_branch Check if the repository has branch named branch.
Method set_branch Switch to branch branch
Method get_merge_branch Get the branch we'd merge from
Method get_merge_base Get the common ancestor between two commits
Method merge Merge changes from the named commit into the current branch
Method abort_merge Abort a merge
Method is_in_merge Undocumented
Method is_fast_forward Check if an update from from_branch to to_branch would be a fast forward or if the branch is up to date already.
Method get_local_branches Get a list of local branches
Method get_remote_branches Get a list of remote branches
Method update_ref Update ref ref to commit new if ref currently points to old
Method branch_contains Check if branch branch contains commit commit
Method set_upstream_branch Set upstream branches for local branch
Method get_upstream_branch Get upstream branch for the local branch
Method create_tag Create a new tag.
Method delete_tag Delete a tag named tag
Method move_tag Undocumented
Method has_tag Check if the repository has a tag named tag.
Method describe Describe commit, relative to the latest tag reachable from it.
Method find_tag Find the closest tag to a given commit
Method find_branch_tag Find the closest tag on a certain branch to a given commit
Method get_tags List tags
Method verify_tag Verify a signed tag
Method force_head Force HEAD to a specific commit
Method is_clean Does the repository contain any uncommitted modifications?
Method clean Remove untracked files from the working tree.
Method status Check status of repository.
Method is_empty Is the repository empty?
Method rev_parse Find the SHA1 of a given name
Static Method strip_sha1 Strip a given sha1 and check if the resulting hash has the expected length.
Method checkout Checkout treeish
Method has_treeish Check if the repository has the treeish object treeish.
Method write_tree Create a tree object from the current index
Method make_tree Create a tree based on contents.
Method get_obj_type Get type of a git repository object
Method list_tree Get a trees content. It returns a list of objects that match the 'ls-tree' output: [mode, type, sha1, path].
Method get_config Gets the config value associated with name
Method set_config Set a git config value in this repository
Method set_user_name Sets the full name to use for git commits.
Method set_user_email Sets the email address to use for git commits.
Method get_author_info Determine a sane values for author name and author email from git's config and environment variables.
Method get_remotes Get a list of remote repositories
Method get_remote_repos Get all remote repositories
Method has_remote_repo Do we know about a remote named name?
Method add_remote_repo Add a tracked remote repository
Method remove_remote_repo Undocumented
Method fetch Download objects and refs from another repository.
Method pull Fetch and merge from another repository
Method push Push changes to the remote repo
Method push_tag Push a tag to the remote repo
Method add_files Add files to a the repository
Method remove_files Remove files from the repository
Method list_files List files in index and working tree
Method write_file Hash a single file and write it into the object database
Method rename_file Rename file, directory, or symlink
Method commit_staged Commit currently staged files to the repository
Method commit_all No summary
Method commit_files Commit the given files to the repository
Method commit_dir Replace the current tip of branch branch with the contents from unpack_dir
Method commit_tree Commit a tree with commit msg msg and parents parents
Method get_commits Get commits from since to until touching paths
Method show Show a git object
Method grep_log Get commmits matching regex
Method get_subject Gets the subject of a commit.
Method get_commit_info Look up data of a specific commit-ish. Dereferences given commit-ish to the commit it points to.
Method format_patches Output the commits between start and end as patches in output_dir.
Method apply_patch Apply a patch using git apply
Method diff Diff two git repository objects
Method diff_status Get file-status of two git repository objects
Method archive Create an archive from a treeish
Method collect_garbage Cleanup unnecessary files and optimize the local repository
Method has_submodules Does the repo have any submodules?
Method add_submodule Add a submodule
Method update_submodules Update all submodules
Method get_submodules List the submodules of treeish
Class Method create Create a repository at path
Class Method clone Clone a git repository at remote to path.
Instance Variable _path The path to the working tree (type: str)
Instance Variable _bare Whether this is a bare repository (type: bool)
Method _check_bare Check whether this is a bare repository
Method _get_git_dir Undocumented
Method _check_repo Undocumented
Static Method __build_env Prepare environment for subprocess calls
Method _git_getoutput Run a git command and return the output
Method _git_inout Run a git command with input and return output
Class Method __git_inout As _git_inout but can be used without an instance
Method _git_command Execute git command with arguments args and environment env at path.
Method _cmd_has_feature Check if the git command has certain feature enabled.
Method _get_branches Get a list of branches
Method _status Undocumented
Method _commit Undocumented
def __init__(self, *args, **kwargs):
Parameterspathpath to git repo (or subdir) (type: str)
toplevelwhether path points to the toplevel dir of git repository (type: bool)
@staticmethod
def sanitize_prefix(prefix):

Make sure git-archive prefix ends with a slash

>>> PkgGitRepository.sanitize_prefix('')
'/'
>>> PkgGitRepository.sanitize_prefix('foo/')
'foo/'
>>> PkgGitRepository.sanitize_prefix('/foo/bar')
'foo/bar/'
def archive_comp(self, treeish, output, prefix, comp, format='tar', submodules=False):

Create a compressed source tree archive with the given options

def _archive_comp_submodules(self, treeish, output, prefix, comp, format='tar'):

Create a compressed source tree archive with submodules.

Concatenates the archives generated by git-archive into one and compresses the end result.

Exception handling is left to the caller.

def _archive_comp_single(self, treeish, output, prefix, comp, format='tar'):

Create a compressed source tree archive without submodules

We have this as a special case since it avoids a temporary file

API Documentation for git-buildpackage, generated by pydoctor at 2018-08-19 08:52:02.