Skip to content

docs(man): complete, accurate rewrite of the man page - #73

Merged
martinus merged 2 commits into
masterfrom
docs/man-page-rewrite
Jul 18, 2026
Merged

docs(man): complete, accurate rewrite of the man page#73
martinus merged 2 commits into
masterfrom
docs/man-page-rewrite

Conversation

@martinus

Copy link
Copy Markdown
Owner

A ground-up rewrite of docs/man/oans.md (with oans.8 regenerated via pandoc, now installed on the box), bringing the reference up to the quality of the tool.

Why

The old page was duperemove's, with fork features bolted on. It was stale — it still described the reclaimed figure as "comparing shared bytes before and after the dedupe" (removed in the honest-accounting change) — and it was missing --version entirely.

What's new

  • Every option documented with its default and behavior, grouped by purpose (Operation / Scan tuning / Threads / Reporting & maintenance / Output). Defaults verified against src/opt.c and the parser: blocksize 128K (4K–1M), batchsize 1024, min-filesize 1, dedupe_same_file on, io-threads auto / cpu-threads nproc≤8, and the [no]same / [no]partial / [no]only_whole_files tokens.
  • New OUTPUT section: explains Reclaimed (honest disk-freed, one copy kept per group), the machine net change in shared extents diagnostic (~2× for pairs), and the compressed-btrfs caveat (compare compsize Disk Usage).
  • Rich EXAMPLES: incremental hashfile, bare replay, --exclude + --min-filesize, --stats/--history/--json | jq, --autotune, and systemd scheduling.
  • Added EXIT STATUS (incl. the "per-file failures don't change exit code" subtlety), ENVIRONMENT (NO_COLOR, DUPEREMOVE_AUTOTUNE_*), FILES, and refreshed NOTES.
  • completion/zsh/_oans: added the missing --autotune.

Rendered clean with pandoc 3.7 / man; docs only, no code changes.

🤖 Generated with Claude Code

martinus and others added 2 commits July 18, 2026 22:45
Rework docs/man/oans.md (regenerating oans.8 via pandoc) into a full, current
reference:

- Document every option with defaults and detail, grouped by purpose
  (operation / scan tuning / threads / reporting / output). Add the missing
  --version; describe --autotune, --stats/--history/--json, --dedupe-options
  tokens, thread auto-tuning, and -h correctly.
- New OUTPUT section explaining the summary: Reclaimed is the honest
  disk-freed figure (one copy kept per group), the machine "net change in
  shared extents" line is a fiemap diagnostic (~2x for pairs), and the
  compression caveat (use compsize Disk Usage). This replaces the stale
  "shared bytes before/after" estimate wording.
- Rich EXAMPLES (incremental hashfile, bare replay, exclude+min-filesize,
  stats/history/json, autotune, systemd scheduling) plus EXIT STATUS,
  ENVIRONMENT, FILES, and refreshed NOTES/FAQ.
- completion/zsh/_oans: add the missing --autotune.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- SYNOPSIS: drop [-r] from the --autotune form; OPTIONS states --autotune
  always samples recursively, so advertising -r there contradicted it.
- MODES: defer the read-only-concurrency-safety claim to NOTES instead of
  stating it in both places.

Regenerated oans.8 (pandoc 3.7). Accuracy/completion/artifact reviews were
clean; other prose overlaps kept as man-page-conventional.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@martinus
martinus merged commit 8d14bfe into master Jul 18, 2026
2 checks passed
@martinus
martinus deleted the docs/man-page-rewrite branch July 18, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant