Skip to main content

Module git

Module git 

Source
Expand description

Git operations module.

This module provides a comprehensive set of git operations for Ralph, organized into focused submodules:

  • error: Error types and classification
  • status: Status parsing and path tracking
  • lfs: Git LFS detection and validation
  • commit: Commit and push operations
  • clean: Repository cleanliness validation

§Invariants

  • All operations use -c core.fsmonitor=false to avoid fsmonitor issues
  • Error types are Send + Sync for anyhow compatibility
  • LFS operations gracefully handle repositories without LFS

§What this does NOT handle

  • General file system operations (use std::fs or anyhow)
  • Non-git version control systems

Re-exports§

pub use clean::RALPH_RUN_CLEAN_ALLOWED_PATHS;
pub use clean::repo_dirty_only_allowed_paths;
pub use clean::require_clean_repo_ignoring_paths;
pub use commit::abort_rebase;
pub use commit::add_paths_force;
pub use commit::commit_all;
pub use commit::fetch_branch;
pub use commit::is_ahead_of_upstream;
pub use commit::is_behind_upstream;
pub use commit::list_conflict_files;
pub use commit::push_current_branch;
pub use commit::push_head_to_branch;
pub use commit::push_upstream;
pub use commit::push_upstream_allow_create;
pub use commit::push_upstream_with_rebase;
pub use commit::rebase_onto;
pub use commit::restore_tracked_paths_to_head;
pub use commit::revert_uncommitted;
pub use commit::upstream_ref;
pub use error::GitError;
pub use lfs::check_lfs_health;
pub use lfs::filter_modified_lfs_files;
pub use lfs::has_lfs;
pub use lfs::list_lfs_files;
pub use status::ensure_paths_unchanged;
pub use status::ignored_paths;
pub use status::is_path_ignored;
pub use status::snapshot_paths;
pub use status::status_paths;
pub use status::status_porcelain;

Modules§

branch
Git branch helpers for resolving the current branch name.
clean
Repository cleanliness validation.
commit
Git commit and push operations.
error
Git-related error types and error classification.
issue
GitHub Issue helpers using the gh CLI.
lfs
Git LFS (Large File Storage) operations and validation.
pr
GitHub PR helpers using the gh CLI.
status
Git status and porcelain parsing operations.
workspace
Git workspace helpers for parallel task isolation (clone-based).