Skip to content

feat(store): a repository format version, with migrations #56

Description

@PiquelChips

Packs, operation log segments and the index each start with their own format and version. The repository as a whole has no version, so a newer origin can't tell an old layout from a damaged one, and can't upgrade it.

Record the repository's format version in .origin/. An origin that finds an older version migrates it, durably and resumable after a crash, and one that finds a newer version refuses with a clear error. This applies to local repositories as much as to servers.

Related: #20.

Note

Written by Claude Fable 5.2 in Claude Code (via T3 Code)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/storageObjects, records, packs and the record indexenhancementNew feature or request

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions