Skip to main content

maw_lfs/
lib.rs

1//! Native git-lfs support for maw.
2//!
3//! Provides pointer codec, content-addressed local object store, attributes
4//! matching, HTTPS batch API client, and credential resolution — all in pure
5//! Rust, with no subprocess invocations of `git` or `git-lfs`.
6//!
7//! # Scope
8//!
9//! maw-lfs replaces git-lfs's filter-driver role for the checkout and
10//! commit paths that maw owns. It is **interoperable** with git-lfs on disk:
11//! pointer blobs and the `.git/lfs/objects/` layout are bit-identical, so
12//! running `git lfs` commands against the same repo works unchanged.
13//!
14//! # Non-goals
15//!
16//! - LFS file locking, custom transfer adapters (SSH, tus, multipart).
17//! - Replacing git-lfs for end users — this crate serves maw's internal
18//!   checkout/commit paths only.
19
20pub mod attrs;
21pub mod batch;
22pub mod creds;
23pub mod error;
24pub mod pointer;
25pub mod store;
26
27pub use attrs::AttrsMatcher;
28pub use batch::BatchClient;
29pub use creds::CredentialProvider;
30pub use error::LfsError;
31pub use pointer::{Pointer, looks_like_pointer};
32pub use store::Store;