A new or changed symlink goes through recordNonRegularFile in the
scanner and is never opened. README.md, ARCHITECTURE.md and
docs/DATAMODEL.md now say so where they describe what a backup reads,
and README.md no longer lists a changed link target as a reason to
read a file.
Model: fable-5-1
- `README.md`, `docs/REPOSTRUCTURE.md`, `internal/cli/snapshot.go`: a
backup needs only write permission on S3; an rclone remote that can
move objects also needs read and delete, and an upload there stops
when its look-up is refused.
- `docs/DATAMODEL.md`, `docs/REPOSTRUCTURE.md`: a restore reads no
file, chunk or blob rows from the local index, but it does open it.
- `README.md`: confirmation prompts go to stdout.
- `internal/cli/remote.go`: `remote nuke` leaves the backup destination
store empty, not a bucket prefix.
- `README.md`: a TODO section, as `REPO_POLICIES.md` requires.
Model: fable-5-1
Fixes the four findings of the sixth review: `snapshot remove` with
`--local-only`, the two comma-chained permission lists, six undefined terms,
and the sentence about an unfinished snapshot in the local index.
Then reads every sentence of `README.md`, `ARCHITECTURE.md`,
`docs/DATAMODEL.md`, `docs/REPOSTRUCTURE.md` and the comments in
`config.example.yml` against the code for four faults: a command's needs or
behaviour stated without regard to a flag, a false absolute, three or more
things chained with commas, and a technical word not defined on first use.
Each sentence changed is listed on the pull request.
The help string of `snapshot remove --dry-run` now says it needs no
permission to delete.
Model: fable-5-1
Under `--json`, `snapshot list` prints no warning for a snapshot with
no manifest at the destination; the README now says so and points to
`remote_present`. The stdout list names `snapshot create` as well as
`snapshot restore` for the per-file error lines. `snapshot create`
stops "before it writes anything at the destination", since the
destination binding is saved first. `prune_grace_period` is a Go
duration, so the README now says only which units it rejects. The
commands that run while a backup is in progress are a bulleted list.
Model: fable-5-1
Warnings and the per-file errors of `snapshot restore` are written to stdout
through `internal/ui`, so the stdout list names them and the redirect example
says a file captures them. Only `make test` and `make lint` run inside Docker;
`make test-coverage` runs on the host. Some `Makefile` targets (`build`,
`clean`, `deps`, `test-coverage`, `local`, `install`) call no `script/` entry,
so "Most" replaces "only".
Fixes the two findings of the fourth review of
#399.
Model: fable-5-1