Versioning¶
Bundlebase has a built-in versioning system. Every time you call commit(), a new version is created with all your changes.
Until commit() is called, any changes you have made remain in-memory and only apply to your bundle instance. To share changes, you must commit.
Committing Changes¶
Viewing Version and History¶
Status¶
View uncommitted changes in the bundle.
Reset¶
Discard all uncommitted changes, reverting to the last committed state.
Undo¶
Undo the last uncommitted operation. Can be called multiple times to undo several operations, or use UNDO LAST N to undo multiple at once.
Verify Data¶
Verify the integrity of all files in the bundle by checking SHA256 hashes.
Manifest System¶
Bundlebase uses a versioned manifest system for tracking commits:
- Location:
{data_dir}/_bundlebase/directory - Format: YAML files with 5-digit version + 12-character hash
- Example:
00001a1b2c3d4e5f6.yaml - Each commit can contain multiple "changes" which are the modifications to the bundle
Example commit file¶
author: nvoxland
message: Indexed
timestamp: 2026-01-08T07:24:18Z
changes:
- id: 11675b7b-8aca-4187-a38d-bfda4d739e0e
description: Attach file:///path/to/customers-0-100.csv
operations:
- type: definePack
id: '56'
- type: attachBlock
source: file:///path/to/customers-0-100.csv
version: 846acd3-64650a58fdd47-4308
id: '09'
packId: '56'