A git repository that holds the source of an RPM package

Method __init__ No summary
Instance Variable pristine_tar Undocumented
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.
Static Method version_to_tag Generate a tag from a given format and a version
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.
Static Method _sanitize_tag sanitize a version so git accepts it as a tag

Inherited from PkgGitRepository:

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 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 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
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, path):
Parameterspathpath to git repo (or subdir) (type: str)
toplevelwhether path points to the toplevel dir of git repository (type: bool)
pristine_tar =
Undocumented
def find_version(self, format, str_fields):

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.

Parametersformattag pattern (type: str)
str_fieldsarguments for format string ('upstreamversion', 'release', 'vendor'...) (type: dict of str)
Returnssha1 of the commit the tag references to
@staticmethod
def version_to_tag(format, str_fields):

Generate a tag from a given format and a version

Parametersformattag pattern (type: str)
str_fieldsarguments for format string ('upstreamversion', 'release', 'vendor'...) (type: dict of str)
Returnsversion tag
>>> RpmGitRepository.version_to_tag("packaging/%(version)s", dict(epoch='0', upstreamversion='0~0'))
'packaging/0%0_0'
>>> RpmGitRepository.version_to_tag("%(vendor)s/v%(version)s", dict(upstreamversion='1.0', release='2', vendor="myvendor"))
'myvendor/v1.0-2'
@staticmethod
def _sanitize_tag(tag):

sanitize a version so git accepts it as a tag

>>> RpmGitRepository._sanitize_tag("0.0.0")
'0.0.0'
>>> RpmGitRepository._sanitize_tag("0.0~0")
'0.0_0'
>>> RpmGitRepository._sanitize_tag("0:0.0")
'0%0.0'
>>> RpmGitRepository._sanitize_tag("0%0~0")
'0%0_0'
@property
def pristine_tar_branch(self):

The name of the pristine-tar branch, whether it already exists or not.

def has_pristine_tar_branch(self):

Whether the repo has a pristine-tar branch.

ReturnsTrue if the repo has pristine-tar commits already, False otherwise (type: Bool)
API Documentation for git-buildpackage, generated by pydoctor at 2021-02-01 08:15:22.