radicle-heartwood-lfs/crates
Maciek "mab122" Bator bb8608e984 Add rad lfs init and IPFS-backed pinning for seed/unseed
Adds Git LFS support for repositories, with large file content stored on
each contributor's own local IPFS node instead of a seed-hosted server:

- `rad lfs init`: one-time setup (transfer-agent config, pre-commit hook,
  notes-ref push/fetch refspecs, IPFS daemon reachability check).
- `refs/notes/rad-lfs` carries the oid -> CID mapping, replicating with
  the repository via Radicle's existing ref sync (verified against
  `references_of` in crates/radicle/src/storage/git.rs: every ref is
  replicated except refs/tmp/heads/*, so no protocol changes were needed).
- `rad seed`/`rad unseed` now pin/unpin a repo's known LFS objects in IPFS,
  mirroring Radicle's existing "seeding = keep a full copy" model, and
  warning (not failing) if no local IPFS daemon is reachable.

The actual byte transfer is handled by a separate binary, rad-lfs-transfer
(added here as a submodule), which implements the Git LFS custom-transfer-
agent protocol against a local IPFS daemon. See LFS-IPFS.md for the full
design and setup instructions.

Building and using `rad` for anything other than `rad lfs` requires no
IPFS dependency at all; `rad lfs init` checks for a local daemon upfront
and fails with an actionable message rather than proceeding silently.
2026-07-14 12:32:12 +02:00
..
radicle radicle/identity: Tidy up 2026-07-09 16:26:25 +02:00
radicle-cli Add rad lfs init and IPFS-backed pinning for seed/unseed 2026-07-14 12:32:12 +02:00
radicle-cli-test cli-test: Disable normalizing paths 2026-06-03 11:49:41 +02:00
radicle-cob cob/change_graph: Log Errors 2026-05-28 16:58:55 +01:00
radicle-core core: Release 0.3.0 2026-05-06 21:00:14 +01:00
radicle-crypto crypto: Handle default `SSH_AUTH_SOCK` on Windows 2026-05-26 09:18:07 +02:00
radicle-dag rust/msrv: 1.85.0 → 1.88.0 2026-05-11 11:23:18 +01:00
radicle-fetch fetch: Update gix packages 2026-05-18 14:57:33 +02:00
radicle-git-metadata rust/msrv: 1.85.0 → 1.88.0 2026-05-11 11:23:18 +01:00
radicle-git-ref-format git-ref-format: New crate 2025-10-13 13:34:15 +02:00
radicle-localtime localtime: add description in Cargo.toml 2026-02-20 13:48:14 +00:00
radicle-log log: New crate for logger implementations 2026-05-11 16:44:37 +01:00
radicle-node node/wire: Test connected node removes active fetch 2026-06-22 18:02:57 +01:00
radicle-oid oid: Release 0.2.0 2026-05-06 21:00:14 +01:00
radicle-protocol fetcher: Test removing active fetch from another node 2026-06-22 18:02:57 +01:00
radicle-remote-helper remote-helper: Introduce magic push ref 'refs/for/' 2026-06-09 11:37:26 +02:00
radicle-schemars schemars: Release 0.8.0 2026-05-06 21:15:54 +01:00
radicle-signals rust/edition/fmt: 2021 → 2024 2026-03-30 16:57:51 +02:00
radicle-systemd systemd: Release 0.13.0 2026-05-06 21:00:14 +01:00
radicle-term Fix NO_COLOR to only suppress colors, not all ANSI styles 2026-06-23 17:23:36 +01:00
radicle-windows rust/edition/fmt: 2021 → 2024 2026-03-30 16:57:51 +02:00