How Versioning Works
Every time you runbasecut snapshot create with the same --name, Basecut creates a new version rather than overwriting the previous one.
Generated Tags
Each version is automatically assigned a unique, human-readable tag using anadjective-animal format:
Storage Structure
Snapshot references are name/tag based (dev-seed:brave-lion), while cloud
storage objects are keyed by internal job IDs (for example
<prefix>/snapshots/<job-id>/...).
Use CLI/API metadata (snapshot list and snapshot inspect) to map a
name/tag reference to its storage location.
Referencing Snapshots
Using :latest
The most common pattern—reference the newest version:
- Basecut scans all versions of
dev-seed - Selects the most recently created version
- Restores that version
Using Specific Tags
Reference an exact version by its unique tag:- Basecut resolves
dev-seed:brave-lionto an exact snapshot record - Restores that specific version
- Fails if that tag doesn’t exist
- Reproducing a bug with the exact data state
- Rolling back to a known-good snapshot
- Compliance/audit requirements for specific dates
Implicit :latest
Omitting the version defaults to :latest:
Custom Tags
You can override the automatic tag generation by providing your own tag using the--tag or -t flag:
Custom tags must be lowercase alphanumeric with hyphens, starting and ending
with an alphanumeric character. The tag
latest is reserved.Version Management
Listing Versions
List snapshots from the CLI:Deleting Old Versions
Delete snapshot metadata from the CLI:aws s3 rm, gsutil rm).
Best Practices
1. Use Descriptive Snapshot Names
Names should indicate purpose, not just content: Good:2. Establish Naming Conventions
Pattern:<environment>-<purpose>[-<context>]
Examples:
dev-seed- Daily development datastaging-smoke- Smoke test data for stagingprod-debug-issue-456- Production debugging snapshotqa-regression-v2.0- QA regression testing for v2.0
3. Automate Snapshot Rotation
Schedule snapshot creation in CI (see CI/CD Integration) and configure storage lifecycle policies to automatically delete old versions.4. Document Version Purpose
Add metadata to your snapshot manifest for traceability:5. Use Separate Snapshots for Different Use Cases
Don’t overload a single snapshot name: Antipattern:Troubleshooting
”Version Not Found”
Symptom:-
List available versions:
-
Check for typos in tag:
-
Use
:latestinstead:
“Multiple Versions Found”
This shouldn’t happen—Basecut resolves versions using unique snapshot tags and IDs. If you see this error, file a bug report.Next Steps
Snapshots Overview
Understand snapshot anatomy and structure
Storage Providers
Configure S3, GCS, or local storage
Common Workflows
Patterns for versioning in practice
CLI Reference
Complete command documentation