Fix lint failures: exhaustive switches, errcheck, goconst

main

Commit

Soph4mo ago

Eleven golangci-lint issues from the all-refs branch additions:

  • exhaustive (8): every kind/action switch in planner, relay, replicate, bootstrap, and syncer needed explicit no-op cases for the new RefKindOther / ActionWarn enum members. Folded the dead default branches into explicit cases — exhaustive's intent is to flag any future enum addition that silently lands in default.
  • errcheck (2): the test code's if v, _ := m["x"].(T); ... pattern triggered errcheck for the discarded comma-ok bool. Switched to if v, ok := m["x"].(T); ok && ....
  • goconst (1): "bootstrap" appeared three times across syncer test files. Added relayModeBootstrap alongside relayModeIncremental and relayModeBootstrapBatch.

PlanReplicationRef: dropped the redundant default arm — the reason string was identical to the RefKindBranch case, so the new case RefKindBranch, RefKindOther covers it.

CanIncrementalRelay: turned the default: arm into the explicit RefKindOther case it always was. Same outcome, exhaustive happy.

replicate.Execute: dropped the unreachable default that errored on unknown actions. The new switch covers every Action explicitly; if a future Action gets added, exhaustive will yell at the call site.

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com Entire-Checkpoint: aacb424eaf37

Checkpoints

does git-sync handle any ref or just branches

Claude CodeOpus 4.7[1m]
View session
Checkpoint 1