- Clones hitting invalid paths keep the fetched repo (marker config
gclo.checkoutpending) instead of deleting it — recovery needs no
re-download; pulls on marker repos revalidate instead of silently
reporting Done with an empty working tree
- ApplyRecoveryAsync materializes HEAD manually with renames/skips
(gitattributes filters honored via FilteringOptions), validates the
effective path set incl. mapping collisions, persists the recovery
in .git/gclo-recovery.json, and re-applies it to new commits on pull
- GUI: per-row "Resolve..." opens a dialog with editable suggested
names and skip checkboxes; progress payload carries the path details
- CLI: --sanitize-paths auto-applies suggestions for scripted runs
- 21 new tests (111 total)
Closes#2
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>