You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(sync): stop pull silently overwriting files the user already had
Found while trying the tool the way a new user would. Pointing scriptRoot
at a folder that already contains files meant pull wrote straight over
them, without a word.
The safety model said 'pull never deletes local files', which was true and
beside the point: clobbering loses the work just the same. compare.ts
reported an untracked local file colliding with a never-synced remote
script as remote-only, so pull treated it as a plain download.
A collision is now a conflict, so pull refuses without --force. Identical
content is adopted silently rather than reported, since that is already
what pull wants the file to say.
The docs failed here too. The README explained neither where the config
lives, nor that commands search upward for it, nor what scriptRoot is
relative to — the only way to find out was to read config.ts. A 'Where
things live' section now covers the layout, the upward search, and why
scriptRoot cannot escape the project root.
The error message itself said what was forbidden and not what to do. The
natural reaction to 'must be relative' is to try '../elsewhere', which then
hits the second rule with equally little help. Both now point at the actual
answer: run init in the folder you want, or use -C.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments