Commit Graph

70 Commits

Author SHA1 Message Date
21028af9aa Replace gzip with zstd compression
Use zstd with SpeedBestCompression level for better compression
ratios. Remove gzip support entirely. Include generated protobuf
file to allow building without protoc.
2025-12-17 14:49:30 -08:00
150bac82cf Add TODO.md with 1.0 release tasks 2025-12-17 14:40:27 -08:00
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