user
37780d59de
fix: propagate errors in uploadBlobIfNeeded and listUniqueSnapshotIDs
...
- scanner.go: uploadBlobIfNeeded now returns (bool, error) instead of bool,
preventing data loss where blobs were recorded in DB but upload failures
were silently swallowed
- prune.go: listUniqueSnapshotIDs now returns ([]string, error) instead of
[]string, preventing incorrect orphan detection when listing errors occur
2026-02-20 03:50:29 -08:00
user
eb23e14799
refactor: break up oversized methods into smaller descriptive helpers
...
Addresses #40 (feedback from PR #37 ).
Refactored methods:
- createNamedSnapshot (214→~60 lines) → resolveSnapshotPaths, scanAllDirectories,
collectUploadStats, finalizeSnapshotMetadata, printSnapshotSummary, getSnapshotBlobSizes,
formatUploadSpeed
- ListSnapshots (159→~30 lines) → listRemoteSnapshotIDs, reconcileLocalWithRemote,
buildSnapshotInfoList, printSnapshotTable
- PruneBlobs (170→~40 lines) → collectReferencedBlobs, listUniqueSnapshotIDs,
listAllRemoteBlobs, findUnreferencedBlobs, deleteUnreferencedBlobs
- RunDeepVerify (182→~50 lines) → loadVerificationData, runVerificationSteps,
deepVerifyFailure
- RemoteInfo (187→~30 lines) → collectSnapshotMetadata,
collectReferencedBlobsFromManifests, populateRemoteInfoResult,
scanRemoteBlobStorage, printRemoteInfoTable
- handleBlobReady (173→~30 lines) → uploadBlobIfNeeded, makeUploadProgressCallback,
recordBlobMetadata, cleanupBlobTempFile
- processFileStreaming (146→~50 lines) → updateChunkStats, addChunkToPacker,
queueFileForBatchInsert
- finalizeCurrentBlob (167→~30 lines) → closeBlobWriter, buildChunkRefs,
commitBlobToDatabase, deliverFinishedBlob
All tests pass. No behavioral changes.
2026-02-20 02:31:56 -08:00