Expand description
Git status and porcelain parsing operations.
This module provides functions for parsing git status output, tracking path snapshots, and ensuring files remain unchanged during operations.
§Invariants
- Porcelain parsing must handle NUL-terminated format correctly
- Path snapshots are deterministic and comparable
§What this does NOT handle
- Commit operations (see git/commit.rs)
- LFS validation (see git/lfs.rs)
- Repository cleanliness enforcement (see git/clean.rs)
Structs§
- Path
Snapshot - A snapshot of a file path with a fingerprint for detecting changes.
Functions§
- ensure_
paths_ unchanged - Validate that each baseline dirty path is unchanged from its fingerprint.
- ignored_
paths - Returns a list of gitignored paths (tracked ignore + local excludes).
- is_
path_ ignored - Returns true if
rel_pathis ignored by git (respecting .gitignore, .git/info/exclude, and global excludes). - snapshot_
paths - Create deterministic fingerprints for a list of baseline dirty paths.
- status_
paths - Returns a list of paths from git status.
- status_
porcelain - Returns raw
git status --porcelain -zoutput (may be empty).