Like a DebianGitRepository but can also perform rollbacks and knows about some of the inner workings upstream vcs_tag, …

Method __init__ No summary
Instance Variable rollbacks Undocumented
Instance Variable rollback_errors Undocumented
Method has_rollbacks Undocumented
Method rrr Remember ref for rollback
Method rrr_branch Undocumented
Method rrr_tag Undocumented
Method rrr_merge Undocumented
Method rollback Perform a complete rollback
Method create_tag Create a new tag.
Method commit_dir Replace the current tip of branch branch with the contents from unpack_dir
Method create_branch Create a new branch
Method merge Merge changes from the named commit into the current branch

Inherited from DebianGitRepository:

Instance Variable pristine_tar Undocumented
Method tree_drop_dirs Drop the given top level dirs from the given git tree returning a new tree object.
Method tree_get_dir Get the SHA1 of directory in a given tree
Method find_version Check if a certain version is stored in this repo and return the SHA1 of the related commit. That is, an annotated tag is dereferenced to the commit object it points to.
Method debian_version_from_upstream Build the Debian version that a package based on upstream commit commit would carry taking into account a possible epoch.
Class Method version_to_tag Generate a tag from a given format and a version
Class Method tag_to_version Extract the version from a tag
Method pristine_tar_branch The name of the pristine-tar branch, whether it already exists or not.
Method has_pristine_tar_branch Whether the repo has a pristine-tar branch.
Method create_pristine_tar_commits Create pristine-tar commits for a package with main tarball and (optional) component tarballs based on upstream_tree
Method get_pristine_tar_commit Get the pristine-tar commit for the given source package's latest version.
Method create_upstream_tarball_via_pristine_tar Undocumented
Method create_upstream_tarball_via_git_archive Create a compressed orig tarball in output_dir using git archive
Method vcs_tag_parent If linking to the upstream VCS get the commit id
Static Method _build_legacy_tag Legacy tags (prior to 0.5.5) dropped epochs and didn't honor the '~'
Class Method _mangle_version Basic version mangling to replace single characters
Class Method _unmangle_format Reverse of _mangle_version for format
Class Method _unmangle_version Reverse of _mangle_version for version
Static Method _sanitize_version sanitize a version so git accepts it as a tag
Static Method _unsanitize_version Reverse _sanitize_version

Inherited from PkgGitRepository (via DebianGitRepository):

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 (via DebianGitRepository, PkgGitRepository):

Class Method git_inout As _git_inout but can be used without an instance
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 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 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 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_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
Instance Variable _bare Whether this is a bare repository
Method _check_bare Check whether this is a bare repository
Method _get_git_dir Undocumented
Instance Variable _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
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)
rollbacks =
Undocumented
(type: List)
rollback_errors =
Undocumented
(type: List)
def has_rollbacks(self):
Undocumented
def rrr(self, refname, action, reftype):

Remember ref for rollback

Parametersrefnameref to roll back
actionthe rollback action (delete, reset, ...)
reftypethe reference type (tag, branch, ...)
def rrr_branch(self, branchname, action="""reset-or-delete"""):
Undocumented
def rrr_tag(self, tagname, action="""delete"""):
Undocumented
def rrr_merge(self, commit, action="""abortmerge"""):
Undocumented
def rollback(self):

Perform a complete rollback

Try to roll back as much as possible and remember what failed.

def create_tag(self, *args, **kwargs):

Create a new tag.

Parametersnamethe tag's name (type: str)
msgThe tag message. (type: str)
committhe commit or object to create the tag at, default is HEAD (type: str)
signWhether to sing the tag (type: bool)
keyidthe GPG keyid used to sign the tag (type: str)
def commit_dir(self, *args, **kwargs):

Replace the current tip of branch branch with the contents from unpack_dir

Parametersunpack_dircontent to add (type: str)
msgcommit message to use (type: str)
branchbranch to add the contents of unpack_dir to (type: str)
other_parentsadditional parents of this commit (type: list of str)
authorauthor information to use for commit (type: dict with keys name, email, date)
committercommitter information to use for commit (type: dict with keys name, email, date or GitModifier)
create_missing_branchcreate branch as detached branch if it doesn't already exist. (type: bool)
def create_branch(self, *args, **kwargs):

Create a new branch

Parametersbranchthe branch's name
revwhere to start the branch from
forcereset branch HEAD to start point, if it already exists

If rev is None the branch starts from the current HEAD.

def merge(self, *args, **kwargs):

Merge changes from the named commit into the current branch

Parameterscommitthe commit to merge from (usually a branch name or tag) (type: str)
verbosewhether to print a summary after the merge (type: bool)
editwhether to invoke an editor to edit the merge message (type: bool)
API Documentation for git-buildpackage, generated by pydoctor at 2021-02-01 08:15:22.