Skip to main content

Module git

Module git 

Source

Re-exports§

pub use commits::GitLog;

Structs§

CommitWalkCache
TagIndex

Functions§

build_head_ancestors
collect_all_tags
create_branch_and_commit
create_branch_and_commits
create_commit
create_or_move_tag
create_tag
delete_tag_if_unchanged
Deletes tag locally and on the remote, but only while the remote still points at expected_sha.
ensure_safe_refname_fragment
Reject obviously-unsafe ref name fragments before passing them to git subprocesses or interpolating them into refspecs.
fetch_tags
find_highest_semver_tag_with_cache
find_last_tag_name
find_last_tag_name_with_cache
force_push_branch
force_push_tags
get_changed_files
get_changed_files_between
Paths changed between two arbitrary commits (from..to). Used by ferrflow diff.
get_changed_files_for_commit
Paths a single commit changed, against its first parent. A root commit has no parent, so its whole tree counts as added. Merge commits are compared to the first parent only, which is what git log --name-only reports and what per-package scoping wants.
get_changed_files_since_oid
get_changed_files_since_tag
get_commits_between
Commits reachable from to but not from — the range from..to, newest first. Powers ferrflow diff, which enumerates what went into a version range. Commits in from..to, minus those whose subject carries a skip marker and those rejected by keep.
get_commits_since_last_stable_tag
get_commits_since_last_tag
get_commits_since_oid
get_remote_url
get_repo_root
get_tag_message
is_push_rejected_error
Whether the push failed because the remote moved under us, which the release flow answers by regenerating the release commit against the new tip.
open_repo
push
push_tags
release_branch_foreign_commit
reset_branch_to_remote
resolve_current_branch
resolve_tag_name_to_commit
Resolve a tag name to the commit it points at, peeling annotated tags. Returns None when the tag doesn’t exist or points at a non-commit.
revert_commit
Reverts sha on the current branch without pushing.
subject_has_skip_marker
Returns true if the commit subject (first line) contains any of the configured skip markers, matched case-insensitively.
tag_exists
verify_remote_branch
write_commit_graph_if_absent
Best-effort: write a commit-graph when the repo has none and its history is large enough to pay for it. gix reads .git/objects/info/commit-graph on every revwalk (use_commit_graph(true)), but never writes one — so a fresh CI clone (a pack with no graph) never benefits. Writing it once makes later runs’ tag scans and commit walks materially faster (#690).

Type Aliases§

Repository