Skip to content

fix(init): suppress detached-HEAD advice for pinned modules (#50)#56

Open
olavostauros wants to merge 1 commit into
KnickKnackLabs:mainfrom
olavostauros:fix/suppress-detached-advice
Open

fix(init): suppress detached-HEAD advice for pinned modules (#50)#56
olavostauros wants to merge 1 commit into
KnickKnackLabs:mainfrom
olavostauros:fix/suppress-detached-advice

Conversation

@olavostauros

Copy link
Copy Markdown
Contributor

Summary

Add -c advice.detachedHead=false to the git checkout "\$pin" call in .mise/tasks/init so pinned-module checkout during modules init does not print Git's verbose detached-HEAD advice block.

Also adds a pinned <sha> status line for pinned modules (matching the tracked module format tracking main @ <sha>), keeping output symmetrical and owned by modules.

Tracked modules already use -q (quiet) checkouts and are unaffected.

Design decision

The issue (#50) suggested the output format:

  den: pinned <sha>
  fold: tracking main @ <sha>

This was chosen over two alternatives:

Option Format Chosen?
A: minimalist No status line (just clone line + exit code) ✗ — leaves asymmetric output; no feedback on checkout result
B: symmetric with @ pinned @ abc1234 ✗ — tracked format has tracking main @ abc1234 where @ separates branch from SHA; pinned has no branch, so @ reads oddly
C: issue's suggestion pinned abc1234 ✓ — clean, no dangling preposition

Changes

File Change
.mise/tasks/init Added -c advice.detachedHead=false to pinned checkout + prints pinned <sha> on success
test/init.bats 2 new tests: (1) verifies no advice block + pinned line present, (2) real checkout errors still surface

Validation

  • mise run test — 137/137 passing
  • codebase lint "\$PWD"
  • git diff --check

…ckLabs#50)

Add -c advice.detachedHead=false to the git checkout call so pinned-module
checkout during modules init does not print Git's verbose detached-HEAD
advice block. Also add a pinned status line matching the tracked format.

Tracked modules already use -q (quiet) checkouts and are unaffected.
Real checkout errors (invalid SHA, corrupt object) still surface
through the fatal: prefix.

Closes KnickKnackLabs#50
@olavostauros
olavostauros force-pushed the fix/suppress-detached-advice branch from 148277b to 7b1cc80 Compare June 26, 2026 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant