fshy

fshy / Storage

git-annex

branchable.com · Storage · 4 records · JSON

git-annex rclone special remote (built into annex since 2023) Storage

★ qualifiesinstitutionno cardRper-ip-shaping

git-annex.branchable.com/special_remotes/rclone/ · registry · storage/git-annex-rclone-special-remote · JSON · compare

Free tierN/A — front-end to rclone's ~70 backends, so it inherits every free tier already catalogued by the other C-slots. The docs' own list (still current) names Drive, OneDrive, Dropbox, Mega, pCloud, Box, Yandex, Jottacloud, WebDAV, FTP, SFTP, Swift, B2, S3.
unit mixed; metered on unstated
Pricenone stated
Per-object capnot stated
Retentionnot stated
Egressrclone throttles/retries but does not pay for egress.
Identityinstitution derived from the record's prose, not from an identity field, and no signup was executed: oning. Per-backend: file size caps, per-day upload quotas, API rate limits all apply unchanged. rclone's Drive backend has its own 750 GB/day upload cap; OneDrive throttles. Encrypte
Limits
  • per-ip-shaping 750 GB/day source
Per-backend: file size caps, per-day upload quotas, API rate limits all apply unchanged. rclone's Drive backend has its own 750 GB/day upload cap; OneDrive throttles. Encrypted annex remotes lose rclone's server-side dedupe.
Bindingper-ip-shaping one stream is shaped, and a user's throughput is the shaped rate times the number of streams
Interfacerest, git, rclone rest
ToolingTwo paths: (a) git annex initremote type=rclone ... — native, no extra install, documented via rclone gitannex -h; (b) the older git-annex-remote-rclone bash script (DanielDent, ~300 lines). rclone itself is a single static binary.
Composes withThe strongest multiplier in this slot: annex gives you versioning + hash verification + partial clone, rclone gives you ~70 free-tier backends. One annex repo can have a dozen rclone remotes across a dozen free accounts of different providers, with git annex copy --to fanning out. This is literally the 'google-drive-service-account' pattern applied to large-file versioning.
ReliabilitySolid; the native remote removed the bash-script dependency. The failure mode is per-backend token expiry and drive-level rate limiting, which rclone surfaces as retries rather than data loss.
NotesN/A — front-end to rclone's ~70 backends, so it inherits every free tier already catalogued by the other C-slots. The docs' own list (still current) names Drive, OneDrive, Dropbox, Mega, pCloud, Box, Yandex, Jottacloud, WebDAV, FTP, SFTP, Swift, B2, S3.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Parsed numbers
  • $.limits[0].value limit:per-ip-shaping 750.0 GB / day
Evidence (3)
datesourcewhat it proved
2026-10-21git-annex.branchable.com/special_remotes/rclone/'With a recent version of rclone and git-annex, it is not necessary to install anything else, just use git-annex initremote type=rclone ...'
2026-10-21rclone.org/commands/rclone_gitannex/the gitannex bridge command exists in rclone proper
2026-10-21rclone.org/overview/backend feature matrix (Internet Archive, Drive, OneDrive, Box, Mega, WebDAV, SFTP, S3 all Tier 1-3 with R/W)
Unknown or withheld values (5)
  • $.free_tier.notes process
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted

git-annex S3 special remote (backend-agnostic) Storage

★ qualifiesemail?card?R

git-annex.branchable.com/special_remotes/S3/ · registry · storage/git-annex-s3-special-remote · JSON · compare

Free tierN/A by itself — inherits whatever S3-compatible store you point it at. This is the multiplier: any free S3 endpoint (Internet Archive s3.us.archive.org, HF s3.hf.co, Oracle/Cloudflare-adjacent object tiers, MinIO on a free VM) becomes a versioned large-file store with git-annex's own manifest.
unit mixed; metered on stored-bytes
Pricenone stated
Per-object capnot stated
Retentionnot stated
EgressTwo client options matter: publicurl= lets downloads skip the S3 API entirely (bucket policy + plain HTTP GET, hence cacheable/CDN-able), and signature=anonymous allows read-only public access with no credentials at all.
Identityemail (placeholder) not published
Bindingnone no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names
Interfaces3, git s3
Toolinggit-annex (Haskell, standalone Linux/macOS builds, ~1.5k stars on the mirror). Config via git annex initremote type=S3 host=... bucket=... requeststyle=path. Internet Archive has a documented special mode (host=s3.us.archive.org) where git-annex writes x-archive-meta-* headers and records the public URL, so every annexed file is also fetchable from archive.org with no login.
Composes withOne special remote per bucket; fileprefix= lets many remotes share one bucket. The allowance is per account, so each free S3 account adds one bucket. Because git-annex keys content by hash, the S3 side is a dumb blob store. A client can shard the same dataset across several free stores, and git-annex tracks which copy is where (git annex whereis). Chunking (chunk=1MiB) avoids per-object size caps on the backing store.
ReliabilityMature and boring — the special remote has existed for over a decade. Failure mode is backend-side (IA's S3 endpoint was unreachable: connect timeout on s3.us.archive.org:443, and archive.org/help/abouts3.txt returned 522 through the proxy), not annex-side.
NotesN/A by itself — inherits whatever S3-compatible store you point it at. This is the multiplier: any free S3 endpoint (Internet Archive s3.us.archive.org, HF s3.hf.co, Oracle/Cloudflare-adjacent object tiers, MinIO on a free VM) becomes a versioned large-file store with git-annex's own manifest.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (4)
datesourcewhat it proved
2026-10-21git-annex.branchable.com/special_remotes/S3/full parameter list including host, requeststyle=path, publicurl, signature=anonymous, chunk, fileprefix
2026-10-21git-annex.branchable.com/tips/Internet_Archive_via_S3/'git annex initremote archive type=S3 protocol=https host=s3.us.archive.org bucket=...' with x-archive-meta headers
2026-10-21git-annex.branchable.com/special_remotes/built-in list: S3, rclone, webdav, rsync, directory, bup, ddar, git-lfs, httpalso, gcrypt
2026-10-21withheldprobe: TCP connect to s3.us.archive.org:443 -> timeout after 21s (backend flaky, tooling fine)
Unknown or withheld values (8)
  • $.evidence[3].url private-url
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted
  • $.retention.stated not-extracted

git-annex git-lfs special remote (annex over any LFS host) Storage

caveatemail?card?R

git-annex.branchable.com/special_remotes/git-lfs/ · registry · storage/git-annex-git-lfs-special-remote · JSON · compare

Free tierN/A — a protocol adapter. Turns ANY git-lfs server (GitHub, GitLab, Bitbucket, a self-hosted Gitea) into an annex special remote, so the LFS host's quota applies but annex adds hash-verified partial clone and whereis across mirrors.
unit mixed; metered on unstated
Pricenone stated
Per-object capnot stated
Retention| Cannot delete = every mistake is permanent on the LFS side, and the host's month-storage accounting (GitHub) means you keep paying for it in quota
Egressnot published
Identityemail (placeholder) not published
Bindingnone no constraint in the record binds at this scale; the record carries no limit of a kind the vocabulary names
Interfacegit git
Toolinggit annex initremote lfstest type=git-lfs url=... encryption=shared. Supports gcrypt:: URL prefix for encrypting the git side too.
Composes withBecause annex can hold the same content on several LFS remotes, you can stack the 10 GiB/project GitLab allowance and the 10 GiB GitHub allowance as tiers of one logical dataset, with annex tracking which objects live where. Sharding a 1 TiB corpus across 100 GitLab projects becomes a git annex copy --to loop.
ReliabilityCannot delete = every mistake is permanent on the LFS side, and the host's month-storage accounting (GitHub) means you keep paying for it in quota. No batching + per-object request = the exact workload LFS rate limits are designed to stop.
NotesN/A — a protocol adapter. Turns ANY git-lfs server (GitHub, GitLab, Bitbucket, a self-hosted Gitea) into an annex special remote, so the LFS host's quota applies but annex adds hash-verified partial clone and whereis across mirrors.
Evidence rungreported One page read moves it to documented.
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (2)
datesourcewhat it proved
2026-10-21git-annex.branchable.com/special_remotes/git-lfs/limitations section quoted above
2026-10-21git-annex.branchable.com/special_remotes/git-lfs/example: 'git annex initremote lfstest type=git-lfs url=gcrypt::[address removed]:username/somerepo.git encryption=shared'
Unknown or withheld values (8)
  • $.egress.metered egress-unknown
  • $.egress.terms withheld
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.per_object_cap.notes not-extracted
  • $.per_object_cap.stated not-extracted
  • $.retention.notes not-extracted

git-annex bup / ddar special remotes Storage

fails: quotaemail?card?R

git-annex.branchable.com/special_remotes/bup/ · rejected-provider · storage/git-annex-bup-ddar-special-remotes · JSON · compare

Free tierBoth dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted fre
unit none; metered on none
Pricenone stated
Per-object capnot recorded
Retentionnot recorded
Egressnot recorded
Identityemail (placeholder) not published
Bindingnone no constraint of a named kind was recorded; the verdict rests on the quota sentence rather than on a named limit
Interfaceunknown
Toolingnot recorded
Composes withnot recorded
ReliabilityBoth dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted fre
NotesBoth dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted fre
Evidence rungreported
Checked2026-10-21 (inherited); stale on 2026-11-04
Evidence (2)
datesourcewhat it proved
2026-10-21git-annex.branchable.com/special_remotes/bup/Both dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted fre
2026-10-21git-annex.branchable.com/special_remotes/ddar/cited as the basis of the rejection: Both dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted fre
More fields (1)
{
 "dead_end": {
  "failure_class": "quota",
  "why": "Both dedupe into a repository you must host yourself and both need full shell access (bup: 'git-annex-shell does not support bup ... you need full shell access to the server'). No hosted fre",
  "retry_when": null,
  "first_recorded": "2026-10-21"
 }
}
Unknown or withheld values (15)
  • $.chaining not-recorded
  • $.confidence_note withheld
  • $.egress.terms not-recorded
  • $.extras.dead_end.retry_when process
  • $.free_tier.notes process
  • $.identity_cost.detail defaulted
  • $.identity_cost.kind identity-defaulted
  • $.interface interface-unknown
  • $.interface_detail withheld
  • $.limits_note process
  • $.per_object_cap.notes not-recorded
  • $.per_object_cap.stated not-recorded
  • $.retention.notes process
  • $.retention.stated not-recorded
  • $.tooling not-recorded