Skip to main content

Crate maw_lfs

Crate maw_lfs 

Source
Expand description

Native git-lfs support for maw.

Provides pointer codec, content-addressed local object store, attributes matching, HTTPS batch API client, and credential resolution — all in pure Rust, with no subprocess invocations of git or git-lfs.

§Scope

maw-lfs replaces git-lfs’s filter-driver role for the checkout and commit paths that maw owns. It is interoperable with git-lfs on disk: pointer blobs and the .git/lfs/objects/ layout are bit-identical, so running git lfs commands against the same repo works unchanged.

§Non-goals

  • LFS file locking, custom transfer adapters (SSH, tus, multipart).
  • Replacing git-lfs for end users — this crate serves maw’s internal checkout/commit paths only.

Re-exports§

pub use attrs::AttrsMatcher;
pub use batch::BatchClient;
pub use creds::CredentialProvider;
pub use error::LfsError;
pub use pointer::Pointer;
pub use pointer::looks_like_pointer;
pub use store::Store;

Modules§

attrs
Gitattributes matcher — resolves filter=lfs and merge=<driver> for a repo-relative path.
batch
LFS Batch API client — HTTPS basic transfer adapter.
creds
Credential resolution for LFS HTTPS transfers.
error
Top-level error type for maw-lfs.
pointer
LFS pointer format v1 codec.
store
Content-addressed local LFS object store under .git/lfs/objects/.