gbp.rpm.git.RpmGitRepository(PkgGitRepository)
class documentationgbp.rpm.git
(View In Hierarchy)
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 |
Parameters | path | path to git repo (or subdir) (type: str ) |
toplevel | whether path points to the toplevel dir of git repository (type: bool ) |
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.
Parameters | format | tag pattern (type: str ) |
str_fields | arguments for format string ('upstreamversion', 'release', 'vendor'...) (type: dict of str ) | |
Returns | sha1 of the commit the tag references to |
Generate a tag from a given format and a version
Parameters | format | tag pattern (type: str ) |
str_fields | arguments for format string ('upstreamversion', 'release', 'vendor'...) (type: dict of str ) | |
Returns | version 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' |
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'