-
c64bbbb78e
Re-vendor the canonical files from sneak/prompts at c55a0cb (closes #95)
issue-95-revendor
clawbot
2026-10-08 00:32:31 +00:00
-
5900feb515
Store mtime to the nanosecond so a same-second rewrite is re-hashed (closes #12)
v1.0.0-rc1
next
clawbot
2026-10-08 02:51:53 +02:00
-
0064eba542
Cut the narration from TODO.md and the script and Dockerfile comments (closes #49)
clawbot
2026-10-04 20:47:21 +02:00
-
546203afe5
Run the tests under the race detector with make test-race (closes #18)
clawbot
2026-10-04 20:01:26 +02:00
-
bebfac1dcb
Fail a bare docker build instead of serving cached gates (closes #39)
clawbot
2026-10-04 19:30:20 +02:00
-
313aa0fc12
Format Markdown with prettier in make fmt and make fmt-check (closes #19)
clawbot
2026-10-04 18:30:25 +02:00
-
1317d66589
Stop script/lint writing an image it never uses (closes #48)
clawbot
2026-10-04 18:01:29 +02:00
-
0b7078301d
Test the remaining CLI cases (closes #16)
clawbot
2026-10-04 17:47:26 +02:00
-
e2227ac07e
Copy the current canonical .golangci.yml (closes #26)
clawbot
2026-10-04 16:13:20 +02:00
-
4a16a41bd7
Test both hashWorker cancellation checks on their own (closes #83)
clawbot
2026-10-04 16:01:36 +02:00
-
722675f153
Escape the database path in the SQLite connection string (closes #55)
clawbot
2026-10-04 15:13:19 +02:00
-
c9c8b1d06c
Reject scan --workers below 1 as a usage error (closes #10)
clawbot
2026-10-04 14:30:21 +02:00
-
7278c354f0
Test both walk cancellation checks on their own (closes #81)
clawbot
2026-10-04 14:01:38 +02:00
-
8032ea682b
Test that scan refuses another schema version (closes #64)
clawbot
2026-10-04 13:30:23 +02:00
-
948fb03630
Correct four inaccurate comments in cancel_test.go and rename a constant (closes #33)
clawbot
2026-10-04 13:01:31 +02:00
-
7ff0dbb6e1
Test the -x filesystem-boundary rejection branch (closes #17)
clawbot
2026-10-04 12:13:23 +02:00
-
bccc14ffef
Refuse an unversioned database that already has a files table (closes #11)
clawbot
2026-10-04 12:01:36 +02:00
-
33f8607e17
Document install, a daily cron scan and reading the reports (closes #54)
clawbot
2026-10-04 11:47:20 +02:00
-
2eeba3df6f
Keep the module cache out of the build stage's chown (closes #43)
clawbot
2026-10-04 10:01:28 +02:00
-
cb5dda4f45
Print --version to stdout (closes #15)
clawbot
2026-10-04 09:47:28 +02:00
-
4847882e46
Stop scan cleanly on SIGINT or SIGTERM (closes #5)
clawbot
2026-10-04 09:30:38 +02:00
-
33cf3dd29a
Stream report and trees instead of loading every record (closes #14)
clawbot
2026-10-04 06:47:25 +02:00
-
9abf81535a
Print progress at once off a terminal, keep warnings out of redraws (closes #13)
clawbot
2026-10-04 04:47:35 +02:00
-
2dd1194f33
Warn about and skip non-regular and .zfs operands, keeping their records (closes #9)
clawbot
2026-10-04 04:01:43 +02:00
-
705c8729ca
Hold a lock so a second scan fails at once (closes #53)
clawbot
2026-10-04 02:30:21 +02:00
-
01ff3bb5f0
Test report and trees stdout write failures (closes #30)
clawbot
2026-10-03 18:01:27 +02:00
-
d63d3cc7fc
Open the database read-only for report and trees (closes #8)
clawbot
2026-10-03 16:30:19 +02:00
-
c887f80f57
Escape tab, newline, CR and backslash in report paths (closes #7)
clawbot
2026-10-03 15:30:37 +02:00
-
c9bf22d483
Stamp the git tag or short commit in a plain docker build (closes #67)
clawbot
2026-10-02 08:49:03 +02:00
-
c2804d088b
Merge pull request 'next' (#50) from next into main
main
sneak
2026-09-26 15:27:29 +02:00
-
-
-
-
c737490a53
Compute the content hash only when head and tail match (closes #61)
clawbot
2026-09-23 16:06:09 +02:00
-
09a39ddf37
Keep the database schema at version 1 (closes #61)
clawbot
2026-09-23 13:38:06 +02:00
-
29a65016d0
Add 64 KiB head/tail and content-hash duplicate ladder (closes #61) (#62)
clawbot
2026-09-22 16:40:43 +02:00
-
7ac4f6b723
Remove dead files.dat references from build config (closes #22)
clawbot
2026-09-21 15:01:57 +02:00
-
282146a409
Reformat all Markdown with prettier
issue-19-markdown-fmt
clawbot
2026-09-21 07:32:12 +00:00
-
2dd4b8c401
Restore Markdown formatting in fmt/fmt-check and pin prettier (closes #19)
clawbot
2026-09-21 07:31:53 +00:00
-
-
-
337b319542
Normalize the lint-image pin comments and FROM form (closes #25)
sneak
2026-08-10 14:06:47 +00:00
-
-
d43c1d31ac
Merge branch 'next': run all linting in Docker (closes #46)
clawbot
2026-08-10 15:55:42 +02:00
-
-
d4eaf5fed2
Run all linting in Docker via Dockerfile.lint (closes #46)
sneak
2026-08-10 12:53:03 +00:00
-
-
e6a91711b0
Merge branch 'dockerfile-bootstrap': bootstrap the builder stage, guard the linter pin (closes #42)
clawbot
2026-08-09 17:43:57 +02:00
-
-
5ca68804ac
Fail the Docker build when the lint stage's linter is not the pin
clawbot
2026-08-09 15:29:13 +00:00
-
3a183aa64b
Run script/bootstrap in the Docker build stage (closes #42)
sneak
2026-08-09 14:43:04 +00:00
-
-
47fd4e8def
Merge branch 'refresh-repo-policies': re-vendor REPO_POLICIES.md (closes #20)
clawbot
2026-08-09 12:00:54 +02:00
-
-
99d757c31d
Re-vendor REPO_POLICIES.md from the canonical copy (closes #20)
clawbot
2026-08-09 09:57:43 +00:00
-
-
a5fa600c98
Merge branch 'readme-entrypoints': document the entrypoints, drop the tooling line (closes #21)
clawbot
2026-08-09 09:53:49 +02:00
-
-
9322e8ddee
README: drop the tooling attribution, document the entrypoints (closes #21)
sneak
2026-08-09 07:51:31 +00:00
-
-
a102b8fb06
Merge branch 'cibuild-cache-bust': make the Docker gates actually execute (closes #32)
clawbot
2026-08-09 09:47:02 +02:00
-
-
964fc29ed3
Bust the Docker layer cache for the gate steps (closes #32)
clawbot
2026-08-09 07:04:35 +00:00
-
-
b8ebe5f578
Merge branch 'bootstrap-version-check': check the linter version, not just presence (closes #24)
clawbot
2026-08-09 08:38:36 +02:00
-
-
9d06c13777
Verify the golangci-lint install actually took effect
clawbot
2026-08-09 06:19:37 +00:00
-
9e924721e6
Check the golangci-lint version in bootstrap, not just presence (closes #24)
clawbot
2026-08-09 05:52:55 +00:00
-
-
076d82231b
Merge branch 'hash-pool-cleanup': unwind the hash worker pool on error (closes #6)
clawbot
2026-08-09 07:46:43 +02:00
-
-
1a38570301
Cover the post-walk cancellation guard with a test that reaches it
clawbot
2026-08-09 05:12:43 +00:00
-
1399249957
Unwind the hash worker pool instead of abandoning it (closes #6)
sneak
2026-08-09 03:00:01 +00:00
-
-
2a055c0104
Merge branch 'db-close-on-fatal': close the database on every exit path (closes #4)
clawbot
2026-08-09 04:39:28 +02:00
-
-
73841c9989
Guarantee the database is closed on every fatal exit path (closes #4)
sneak
2026-08-09 02:27:07 +00:00
-
-
ce6d29dffb
Merge branch 'todo-next-step-stale': point TODO.md at the tracker (closes #27)
clawbot
2026-08-09 04:05:04 +02:00
-
-
a7295750ef
Point TODO.md at the tracker and record landed work (closes #27)
sneak
2026-08-09 02:03:23 +00:00
-
-
38a01bd27c
Merge branch 'golangci-v2.12.2': golangci-lint v2.12.2 and canonical config (closes #3)
clawbot
2026-08-09 03:57:09 +02:00
-
-
814bdada2b
Update golangci-lint to v2.12.2 with canonical config
sneak
2026-08-07 16:46:10 +00:00
-
-
3abeacf8ee
Add scripts-to-rule-them-all scaffold (refs #1)
sneak
2026-07-26 23:23:06 +07:00
-
b5f6faa00e
Merge branch 'inode-runs': inode-ordered hashing, hard links read once
sneak
2026-07-25 14:36:56 +07:00
-
-
b14b735c88
Hash in inode order, read hard links once, never open empty files
sneak
2026-07-25 14:36:55 +07:00
-
-
67bde6226d
Merge branch 'load-progress': never look hung during startup
sneak
2026-07-25 14:28:13 +07:00
-
-
57efa64f18
Show progress while loading the record index
sneak
2026-07-25 14:28:11 +07:00
-
-
d4b43ebb30
Merge branch 'size-census': hash only files with shared sizes
sneak
2026-07-25 06:06:30 +07:00
-
-
b62b4f297f
Stat in the walk, hash only shared sizes, flush batches mid-scan
sneak
2026-07-25 06:06:22 +07:00
-
-
340bdbe39e
Merge branch 'make-default-target': plain make builds the binary
sneak
2026-07-24 11:21:18 +07:00
-
-
a1c3b852c3
Make the binary the default Make target
sneak
2026-07-24 11:21:16 +07:00
-
-
9f03eb3e2a
Merge branch 'scan-wide-phases': scan-wide phases, concurrent operands, batched updates
sneak
2026-07-24 10:26:54 +07:00
-
-
3ecf73c80a
Make phases scan-wide, walk operands concurrently, batch updates
sneak
2026-07-24 10:26:52 +07:00
-
-
732fc351d7
Merge branch 'parallel-phases': sequential phases, parallelism within each
sneak
2026-07-24 08:12:49 +07:00
-
-
1e7a519608
Split the stat pass back out of the walk
sneak
2026-07-24 08:12:47 +07:00
-
-
09ff9b5f30
Merge branch 'scan-operand-progress': announce operands on stderr
sneak
2026-07-24 07:52:55 +07:00
-
-
a0f0050ada
Announce each operand on stderr before its passes
sneak
2026-07-24 07:52:54 +07:00
-
-
6a15b879de
Merge branch 'parallel-walk': parallel per-directory walk, per-operand commits
sneak
2026-07-24 07:44:28 +07:00
-
-
dced5cf0d2
Parallelize the walk and commit per operand
sneak
2026-07-24 07:44:18 +07:00
-
3ebf98940a
Specify parallel per-directory walk and per-operand commits
sneak
2026-07-24 06:28:12 +07:00
-
-
abea945730
Merge branch 'persistent-database': persistent SQLite scan database
sneak
2026-07-24 03:08:58 +07:00
-
-
d8fbcb32c2
Implement persistent SQLite scan database
sneak
2026-07-24 03:08:49 +07:00
-
e0d578a707
Specify persistent SQLite scan database in README; plan in TODO.md
sneak
2026-07-24 02:54:08 +07:00
-
-
90c9ef3546
Record remote setup and v0.0.1 tag in TODO.md
sneak
2026-07-23 09:08:28 +07:00
-
13b9839e73
Disable background-session worktree isolation for this repo
sneak
2026-07-23 09:06:24 +07:00
-
4b1c3cbf70
Make scan paths required operands; add -x/--one-file-system
v0.0.1
sneak
2026-07-23 08:55:17 +07:00
-
3391207f8d
Check off completed repo policy compliance items in TODO.md
sneak
2026-07-23 07:59:12 +07:00
-
5b20171dbd
Install pre-commit hook via make hooks; resolve shared hooks dir
sneak
2026-07-23 06:45:02 +07:00
-
375233fff4
Restructure README with required policy sections
sneak
2026-07-23 06:44:32 +07:00
-
b4d013cb34
Add hash-pinned Dockerfile, .dockerignore, and Gitea CI workflow
sneak
2026-07-23 06:42:11 +07:00
-
7a6adae0d2
Add test suite covering parsing, grouping, digests, and scan passes
sneak
2026-07-23 05:42:38 +07:00
-
316ea9072d
Rewrite Makefile with required policy targets
sneak
2026-07-23 05:37:29 +07:00
-
065a533224
Make code lint-clean under the canonical golangci-lint config
sneak
2026-07-23 05:36:05 +07:00
-
733b33d9d1
Add canonical .golangci.yml
sneak
2026-07-22 22:24:04 +07:00
-
2512ae797b
Add REPO_POLICIES.md from canonical source (2026-07-06)
sneak
2026-07-22 22:24:04 +07:00
-
ab8533ea58
Add MIT LICENSE
sneak
2026-07-22 22:24:04 +07:00
-
7a36d91d8a
Add .editorconfig: 4-space default, tabs for Go and Makefile
sneak
2026-07-22 22:24:04 +07:00
-
8c4ec4bd44
Add .gitignore covering OS, editor, Go artifacts, secrets, and scan data
sneak
2026-07-22 22:24:04 +07:00
-
ecb272d6cc
Add TODO.md with repo policy compliance audit
sneak
2026-07-22 22:21:41 +07:00
-
1fad4a7d1c
Add sfdupes implementation: scan, report, and trees subcommands
sneak
2026-07-22 22:06:22 +07:00
-
dbc7f5a786
Add README: complete sfdupes specification
sneak
2026-07-22 22:06:22 +07:00