docs: update README and add CHANGELOG#90
Conversation
Document exit codes, rename refusal, and security expectations. Add a CHANGELOG with an Unreleased section covering recent reliability work. Fixes dolph#20
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 32ffd3c454
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| ## Security model | ||
|
|
||
| `find-replace` is intended for batch find/replace in a working tree you control. It performs atomic rewrites via a temporary file in the same directory and does not overwrite an existing destination during rename. Run it only in trusted directories; symlink hardening is not a current guarantee—see open issues for planned improvements. |
There was a problem hiding this comment.
Avoid promising overwrite protection for renames
This overstates the rename safety guarantee: RenameFile checks os.Stat(newPath) and then calls os.Rename(f.Path, newPath), so if a destination is created between those calls (or for cases like a broken symlink that os.Stat treats as not existing), POSIX rename can still clobber it. In any directory with concurrent file activity, the README now tells users the tool “does not overwrite an existing destination” even though the implementation only best-effort refuses destinations observed before the rename.
Useful? React with 👍 / 👎.
Fixes #20
Made with Cursor