feat(cli): persist install hook opt-out - #1862
Conversation
|
Thanks for opening this — it has been seen, and it is queued. This note is automated, but it is not a brush-off: it exists so you know where your PR stands instead of having to guess from silence. Current review status: working through a backlog. What that means for this PR, concretely:
Things that will genuinely speed it up whenever review does happen:
If this fixes a bug, a reproduction we can run is worth more than a description of the symptom. Thanks for contributing, and sorry in advance for the wait. |
|
Thank you for implementing the previously discussed persistent hook opt-out and for preserving foreign hook state, dry-run behavior, and the remaining installer surfaces. The contribution queue is currently quite full, so the full review may take a little time. We have the PR routed and will come back with grounded feedback as soon as possible. |
|
Reviewed. The direction is settled — this implements the approved outcome from #753 — so this is about one build break, and it is a small one. The Windows failure is real, and it is a missing platform guardBoth The compiler's suggestion is a red herring. The existing call site already knows this. At #ifndef _WIN32
if (cbm_remove_gemini_coverage_hook(cp, installed_binary) != CLI_OK) {
...
}
#endifYour new call is not wrapped. Adding the same Why only Windows caught it: clang treats an implicit function declaration as an error, and the CLANG64 legs are the ones building with clang. On POSIX the function is present, so every other leg compiles cleanly and says nothing. Worth knowing, because a green Linux and macOS run tells you nothing about this class of mistake. One knock-on to check while you are there: The restThe shape is right: hooks stay enabled by default, Clearance is Also please rebase once the guard is in: |
Signed-off-by: Andy11-cpu <canada11@duck.com>
Signed-off-by: Andy11-cpu <canada11@duck.com>
Signed-off-by: Andy11-cpu <canada11@duck.com>
fc203c6 to
0e8fc16
Compare
Fixes #1857
Supersedes #753.
What
install --no-hooksandinstall --hooks.Why
#753 established the performance cost of per-call hook process spawning. This implements the maintainer-approved direction from that discussion: retain graph-first defaults while giving users a persistent opt-out.
Verification
scripts/test.shscripts/lint.sh --ci CLANG_FORMAT=clang-format-20scripts/ci/lint-mem.sh clang-tidy-22make -f Makefile.cbm securitygit diff --checkAll pass locally.