Expand description
Git interop for git-lfs.
Everything in this crate shells out to the git binary — see CLAUDE.md
for the rationale.
Re-exports§
pub use attr::AttrSet;pub use cat_file::BlobContent;pub use cat_file::CatFileBatch;pub use cat_file::CatFileBatchCheck;pub use cat_file::CatFileHeader;pub use config::ConfigScope;pub use diff_index::DiffEntry;pub use diff_index::diff_index;pub use endpoint::EndpointError;pub use endpoint::EndpointInfo;pub use endpoint::SshInfo;pub use endpoint::derive_lfs_url;pub use endpoint::endpoint_for_remote;pub use endpoint::looks_like_url;pub use endpoint::parse_ssh_url;pub use endpoint::resolve_endpoint;pub use extension::ExtensionConfig;pub use extension::list_extensions;pub use http_options::HttpOptions;pub use path::git_dir;pub use path::lfs_alternate_dirs;pub use path::lfs_dir;pub use path::work_tree_root;pub use rev_list::RevListEntry;pub use rev_list::rev_list;pub use rev_list::rev_list_with_args;pub use scanner::PointerEntry;pub use scanner::TreeBlob;pub use scanner::scan_index_lfs;pub use scanner::scan_pointers;pub use scanner::scan_pointers_with_args;pub use scanner::scan_tree;pub use scanner::scan_tree_blobs;
Modules§
- aliases
url.<base>.insteadOf <alias>rewrite handling.- attr
.gitattributesparsing and matching.- cat_
file git cat-file --batch[-check]long-running subprocess wrappers.- config
- Git config get/set/unset, scoped to one of git’s config files.
- diff_
index git diff-index -zparser.- endpoint
- Resolve the LFS server endpoint for a repo.
- extension
- Pointer extension config (
lfs.extension.<name>.{clean,smudge,priority}). - http_
options - Read git’s
http.<key>andhttp.<url>.<key>settings. - path
- Repository path discovery.
- pktline
- Git’s packet-line protocol — the framing used by
filter-processand a handful of other long-running git subprocess interfaces. - refs
- Refspec resolution for the LFS lock APIs.
- rev_
list git rev-list --objects --do-walk --stdinwrapper.- scanner
- Scanner: walk git history, find LFS pointer blobs.