Thanks to visit codestin.com
Credit goes to github.com

Skip to content

v0.10.0: The Ghost in the Machine 👻

Choose a tag to compare

@JacksonFergusonDev JacksonFergusonDev released this 19 Jan 06:58
· 54 commits to main since this release
8d3cbbb

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 sync command. 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 main simultaneously, preserving the timeline of your work across every device you used.

⚠️ Upgrade Notes

  1. Breaking Ref Change:

    • Old backups stored in the local wip/pulsar branch 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.
  2. 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_id file. You may be prompted to confirm the machine name if running interactively.

📜 Changelog

  • feat!: Implement shadow commits using write-tree (removes git add dependency).
  • feat: Add git-pulsar sync for cross-device session restoration.
  • feat: Implement persistent machine_id configuration.
  • feat: Add Octopus Merge strategy to finalize for 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