Skip to content

Contents API - #3

Merged
Axenos-dev merged 7 commits into
mainfrom
feat/contents-api
Jul 6, 2026
Merged

Contents API#3
Axenos-dev merged 7 commits into
mainfrom
feat/contents-api

Conversation

@Axenos-dev

Copy link
Copy Markdown
Owner

Contents API

  • GET /repositories/{id}/contents — list a directory level at any ref
  • GET /repositories/{id}/blob — stream file content (strong ETag, Content-Length, optional LFS smudge via ?lfs=true)
  • GET /repositories/{id}/archive — stream zip/tar.gz archives, optional in-flight LFS smudging
  • POST /repositories/{id}/blobs — raw streaming blob upload into the ODB
  • POST /repositories/{id}/commits — atomic multi-file commits on bare repos: CAS ref updates (expectedHeadSha), branch creation, automatic .gitattributes-driven LFS cleaning, push-webhook parity
  • gitbackend: read/write plumbing (ListTree, StatBlob/ReadBlob/WriteBlob, ArchiveTar, ResolveCommit, ApplyCommit, GC)
  • Background maintenance: periodic git gc (orphaned blobs), env-configurable intervals
  • New packages: internal/archive (streaming tar→zip/tar.gz re-encode); LFS pointer parsing in domain
  • Docs: README section for the content API + archive/commit flow diagrams, AGENTS.md updates

@Axenos-dev
Axenos-dev merged commit fe0b97a into main Jul 6, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant