Skip to content

feat(sdk): add history-free repository snapshots - #58

Open
necolas wants to merge 1 commit into
devfrom
necolas/history-free-repository-snapshot-sdk
Open

feat(sdk): add history-free repository snapshots#58
necolas wants to merge 1 commit into
devfrom
necolas/history-free-repository-snapshot-sdk

Conversation

@necolas

@necolas necolas commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Why

Applications need a supported way to create a repository from a selected source tree without copying the source commit history. The snapshot API provides that backend behavior, but the SDKs did not expose its request contract.

Scope

  • Add history-free snapshot creation types to the TypeScript, Python, and Go SDKs.
  • Send the snapshot source, selected ref, read-scoped source token, and initial root-commit metadata through each SDK.
  • Preserve the existing repository creation paths and default the snapshot branch to main when no branch is provided.
  • Document the SDK contract, examples, and Git LFS behavior in each package and in the Code Storage agent reference.

Tradeoffs

  • Snapshot creation copies Git LFS pointer files, but it does not copy the external LFS objects.

Blast Radius

  • This is an additive public SDK change in the TypeScript, Python, and Go packages.
  • Existing fork, GitHub sync, and generic Git sync creation behavior remains unchanged.

Verification

  • pnpm --filter @pierre/storage build
  • pnpm --filter @pierre/storage exec vitest --run (204 tests passed)
  • ./venv/bin/python -m pytest -v (184 tests passed)
  • ./venv/bin/python -m ruff check pierre_storage
  • ./venv/bin/python -m ruff format --check pierre_storage
  • go test ./...
  • python3 scripts/sync_versions.py --check
  • git diff --check dev...HEAD

No live service credentials were required for these checks.

@notion-workspace

Copy link
Copy Markdown

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