v0.10.0: The Ghost in the Machine 👻
·
54 commits
to main
since this release
Summary
This release introduces "Shadow Commits" (invisible backups) and "Roaming Profiles" (multi-machine sync).
Git Pulsar now operates completely in the background without touching your index or staging area, and supports seamless handoff between devices.
🔦 Highlights
👻 Ghost Mode (Shadow Commits)
Pulsar now uses low-level git plumbing (write-tree, commit-tree) to snapshot your work.
- Zero Interference: You can now stage files (
git add -p) or run interactive rebases while Pulsar runs in the background. It will never lock your index or mess up your staging area. - Isolated State: Backups are strictly read-only snapshots of your working directory.
🌍 Roaming Profiles
Backups are now namespaced by Machine ID (e.g., refs/heads/wip/pulsar/macbook/...).
- Sync Command: New
git-pulsar synccommand. It scans the network for your latest work on any machine and fast-forwards your current directory to match it. - Identity: On first run, you will be asked to name your machine (e.g., "lab-desktop", "home-laptop").
🐙 Grand Unification
The finalize command has been upgraded to perform an Octopus Merge.
- When you finish an assignment, Pulsar fetches the backup history from all your registered machines.
- It squash-merges them all into
mainsimultaneously, preserving the timeline of your work across every device you used.
⚠️ Upgrade Notes
-
Breaking Ref Change:
- Old backups stored in the local
wip/pulsarbranch are deprecated. - New backups are stored in
refs/heads/wip/pulsar/<machine-id>/.... - Action: None required. Old backups remain accessible but will not be appended to.
- Old backups stored in the local
-
First Run Setup:
- After updating, the first time you run
git-pulsar(or when the daemon wakes up), it will create a~/.config/git-pulsar/machine_idfile. You may be prompted to confirm the machine name if running interactively.
- After updating, the first time you run
📜 Changelog
- feat!: Implement shadow commits using
write-tree(removesgit adddependency). - feat: Add
git-pulsar syncfor cross-device session restoration. - feat: Implement persistent
machine_idconfiguration. - feat: Add
Octopus Mergestrategy tofinalizefor aggregating multi-host history. - fix: Namespace refs to prevent history divergence/rejects on multiple machines.
- docs: Complete rewrite of README to reflect v0.10.0 architecture.
Full Changelog: v0.9.1...v0.10.0