Commit Graph

68 Commits

Author SHA1 Message Date
92bd13efde Fix all linter errors
- Add explicit error ignoring with _ = for Close/Remove calls
- Rename WriteTo to Write to avoid io.WriterTo interface conflict
- Fix errcheck warnings in fetch, freshen, gen, mfer, checker,
  deserialize, serialize, and output files
2025-12-17 14:37:52 -08:00
531f460f87 Add CLAUDE.md 2025-12-17 14:33:00 -08:00
c5ca3e2ced Change FileProgress callback to channel-based progress
Replace callback-based progress reporting in Builder.AddFile with
channel-based FileHashProgress for consistency with EnumerateStatus
and ScanStatus patterns. Update scanner.go to use the new channel API.
2025-12-17 14:30:10 -08:00
fded1a0393 Remove generateInner, now handled by Builder
- Remove generateInner() from serialize.go
- Update generate() to error if pbInner not set
- Remove legacy tests that depended on old code path
- Update TODO item to reflect removal
2025-12-17 11:27:41 -08:00
5d7c729efb remove golangci-lint config files 2025-12-17 11:27:41 -08:00
48c3c09d85 Rename ManifestBuilder to Builder 2025-12-17 11:27:41 -08:00
f3be3eba84 Add TODO: change FileProgress callback to channel-based 2025-12-17 11:27:41 -08:00
5e65b3a0fd Add TODO section to README with prioritized task list 2025-12-17 11:27:41 -08:00
79fc5cca6c Add godoc strings to all exported types, functions, and fields
Documents:
- cli: NO_COLOR, RunOptions fields, CLIApp, VersionString
- checker: Result fields, Status constants, CheckStatus fields
- scanner: EnumerateStatus, ScanStatus, Options, FileEntry fields
- log: Level alias, DisableStyling, Init, Info/Debug functions,
  verbosity helpers, GetLogger, GetLevel, WithError
- mfer: ManifestScanOptions, New, NewFromPaths, NewFromFS, MAGIC
2025-12-17 11:27:41 -08:00
155ebe9a78 Merge branch 'main' into next 2025-12-17 19:01:52 +00:00
dc2ea47f6a Add testable CLI with dependency injection and new scanner/checker packages
Major changes:
- Refactor CLI to accept injected I/O streams and filesystem (afero.Fs)
  for testing without touching the real filesystem
- Add RunOptions struct and RunWithOptions() for configurable CLI execution
- Add internal/scanner package with two-phase manifest generation:
  - Phase 1 (Enumeration): walk directories, collect metadata
  - Phase 2 (Scan): read contents, compute hashes, write manifest
- Add internal/checker package for manifest verification with progress
  reporting and channel-based result streaming
- Add mfer/builder.go for incremental manifest construction
- Add --no-extra-files flag to check command to detect files not in manifest
- Add timing summaries showing file count, size, elapsed time, and throughput
- Add comprehensive tests using afero.MemMapFs (no real filesystem access)
- Add contrib/usage.sh integration test script
- Fix banner ASCII art alignment (consistent spacing)
- Fix verbosity levels so summaries display at default log level
- Update internal/log to support configurable output writers
2025-12-17 11:00:55 -08:00
2717685619 update readme to conform with my new readme howto standards (#8)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #8

manually approving because CI is offline rn for some reason
2024-12-09 02:50:57 +00:00
13f39d598f remove gofumpt from linting
Some checks failed
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is failing
2024-05-22 14:34:05 -07:00
01bffc8388 latest
All checks were successful
continuous-integration/drone/push Build is passing
2024-05-22 14:25:35 -07:00
7df558d8d0 next (#5)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: sneak <sneak@sneak.berlin>
Reviewed-on: #5
2022-12-09 00:02:33 +00:00
7a8a1b4a4a rollup from next branch (#4)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: sneak <sneak@sneak.berlin>
Reviewed-on: #4
2022-12-04 07:59:36 +00:00
eb3b685aa3 i think this will build now
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-02 00:26:18 -08:00
9d8616866f latest 2022-02-02 00:12:03 -08:00
b9c51fdeeb proto3 compiler doesn't like required/optional anymore?
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-01 23:48:42 -08:00
7b869592ce proto3 fixes to pass ci
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 23:44:58 -08:00
6628325843 ci debugging
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 23:35:33 -08:00
5b2f1fe2dd wrangling ci more
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 22:45:37 -08:00
f74a320989 cleanup a bit
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 22:39:50 -08:00
c5f2cb7d9e fix prereqs for builder image
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 22:35:10 -08:00
bb810fb728 this should fix ci
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 22:30:43 -08:00
b6c73621fc used the arm64 hash instead of the amd64 one
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 22:20:59 -08:00
94f948da04 testing ci again
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 22:17:13 -08:00
16f461ef38 Update '.drone.yml'
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-02 06:11:09 +00:00
52720830e0 test to get ci working
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 22:05:16 -08:00
1b3e058b86 add final image
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 21:47:30 -08:00
7e4f8366a7 format readme, add build status badge
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-01 21:45:03 -08:00
ea96e0d786 latest, testing with ci now 2022-02-01 21:43:48 -08:00
081028f3b2 vendor in deps so CI goes fast 2022-02-01 21:36:27 -08:00
7a47873be3 getting ready for CI 2022-02-01 21:36:20 -08:00
69c8d45f8f builds and runs! 2022-02-01 20:12:53 -08:00
01e9433404 latest 2022-02-01 20:12:32 -08:00
9dd2682b49 mtime/ctime/atime should be Timestamp 2021-11-03 04:23:09 -07:00
4fd76850da renumber fields, add timestamp 2021-11-03 04:19:42 -07:00
92b92c190d update file format a bit 2021-11-03 03:49:40 -07:00
38df94a9b2 add fmt target 2021-11-03 03:49:34 -07:00
4a6469b003 fmt 2021-11-03 03:49:24 -07:00
0f86942849 Update 'proto/mf.proto' 2021-11-03 10:39:41 +00:00
dfdd85bc3b Update 'proto/mf.proto' 2021-11-03 10:22:18 +00:00
149970df95 allow for multiple checksums per filepath 2021-11-03 10:21:27 +00:00
9de974e88b add more notes to protobuf 2021-10-26 02:21:10 -07:00
b263706342 use go generate instead of make for protoc 2021-10-26 02:10:55 -07:00
a1fa0d8fe5 add open design questions to README 2021-10-26 02:04:43 -07:00
a35e30c05c beginning of pb 2021-10-26 02:00:50 -07:00
063c8040c0 Update 'README.md' 2021-01-19 04:00:02 +00:00
baa78caf47 Update 'README.md' 2021-01-19 03:55:01 +00:00