What problem does it solve?
After a GSD update wipes and reinstalls files, this workflow merges user customizations back into the new version using a three-way comparison (pristine baseline, user-modified backup, newly installed version) to reliably distinguish user changes from version drift. The invariant ensures that every file backed up to gsd-local-patches is preserved and, if necessary, flagged for review as a conflict rather than skipped.
Core Features & Use Cases
- Detect backed-up patches in gsd-local-patches and locate a pristine baseline (git history or gsd-pristine) to enable three-way merge.
- Apply user changes from the backup to the new install while assimilating upstream updates, with per-file merge statuses (Merged, Conflict, Incorporated).
- Flag conflicts for user review and provide guidance to resolve differences when both upstream and user changes affect the same content.
Quick Start
Reapply local patches from gsd-local-patches to the freshly installed GSD version using a three-way merge and flag conflicts for review.