Bug fix and hardening release for ignored-file detection, restore safety, and CLI behavior from subdirectories.
- Use
git ls-files --others --ignored --exclude-standardwith deduplication (fixes double-counting and non-ignored untracked files) - Resolve Git worktree root and run commands from repo root (fixes subdirectory usage)
- Match snapshot symlink checksums in
status(symlink:<target>sentinel) - Path-scoped
include/excludeglobs; basename patterns unchanged - Newest-first snapshot selection for
--snapshot 0in restore - Harden restore against path traversal, absolute paths, and symlink parent directories
- Reuse
ReadManifestduring restore; remove duplicate reader - Add regression tests; pass
go test -race ./...
- Download
ignoregrets_v0.1.5_windows_amd64.exe - Rename to
ignoregrets.exe - Move to a directory in your PATH
- Download
ignoregrets_v0.1.5_linux_amd64 - Make executable:
chmod +x ignoregrets_v0.1.5_linux_amd64 - Move to
/usr/local/bin/ignoregrets
- Download
ignoregrets_v0.1.5_darwin_amd64 - Make executable:
chmod +x ignoregrets_v0.1.5_darwin_amd64 - Move to
/usr/local/bin/ignoregrets
For more information, see the README.
Bug fix release for status, list, and restore behavior.
- Fix
status --verboseprinting empty new checksums after comparison removed entries from the working map - Fix
listshowing snapshot filename length instead of manifest file count - Fix
restore --forcefailing when replacing an existing symlink at the target path - Add regression tests for all three fixes
- Move project design doc to
docs/PROJECT_DESIGN.mdand remove obsoleteSYSTEMPROMPT.md
- Download
ignoregrets_v0.1.4_windows_amd64.exe - Rename to
ignoregrets.exe - Move to a directory in your PATH
- Download
ignoregrets_v0.1.4_linux_amd64 - Make executable:
chmod +x ignoregrets_v0.1.4_linux_amd64 - Move to
/usr/local/bin/ignoregrets
- Download
ignoregrets_v0.1.4_darwin_amd64 - Make executable:
chmod +x ignoregrets_v0.1.4_darwin_amd64 - Move to
/usr/local/bin/ignoregrets
For more information, see the README.
Patch release with code quality improvements.
- Improved code quality with
gofmt -sformatting - Reduced cyclomatic complexity in core functions:
- Split
RestoreSnapshotinto smaller, focused functions - Improved test organization and readability
- Split
- Added commit hash validation during restore
- Download
ignoregrets_v0.1.2_windows_amd64.exe - Rename to
ignoregrets.exe - Move to a directory in your PATH
- Download
ignoregrets_v0.1.2_linux_amd64 - Make executable:
chmod +x ignoregrets_v0.1.2_linux_amd64 - Move to
/usr/local/bin/ignoregrets
- Download
ignoregrets_v0.1.2_darwin_amd64 - Make executable:
chmod +x ignoregrets_v0.1.2_darwin_amd64 - Move to
/usr/local/bin/ignoregrets
For more information, see the README.
Pre-release update with code quality improvements.
[Superseded by v0.1.2]
Initial release of ignoregrets, a lightweight CLI tool for snapshotting and restoring Git-ignored files.
- Snapshot Git-ignored files tied to commit hashes
- Store snapshots locally as
.tar.gzarchives with SHA256 checksums - Restore files safely with
--dry-runand--forceoptions - Track file changes with detailed status reporting
- Manage snapshots with retention policies
- Optional Git hooks for automatic snapshots and restores
- Cross-platform support (Linux, macOS, Windows)
- Download
ignoregrets_v0.1.0_windows_amd64.exe - Rename to
ignoregrets.exe - Move to a directory in your PATH
- Download
ignoregrets_v0.1.0_linux_amd64 - Make executable:
chmod +x ignoregrets_v0.1.0_linux_amd64 - Move to
/usr/local/bin/ignoregrets
- Download
ignoregrets_v0.1.0_darwin_amd64 - Make executable:
chmod +x ignoregrets_v0.1.0_darwin_amd64 - Move to
/usr/local/bin/ignoregrets
-
Initialize in a Git repository:
ignoregrets init --hooks
-
Create your first snapshot:
ignoregrets snapshot
-
Check status and restore files:
ignoregrets status ignoregrets restore --dry-run ignoregrets restore --force
For more information, see the README.