chore: untrack hoot.exe + hoot-test, expand .gitignore - #64
Open
oth-body wants to merge 1 commit into
Open
Conversation
Issue #50 ("Remove binary from git and add .gitignore") was closed in July 2026, but the binaries were never actually untracked. As of this commit: - hoot.exe — 13,054,464 bytes (Windows build of hoot) - hoot-test — 13,012,992 bytes (Linux binary built by hoot_test.go's TestMain for black-box tests) are still tracked in master. 26 MB of build artifacts bloating every clone, every fetch, every CI checkout, and every PR diff stat. Fix: - git rm --cached hoot.exe hoot-test (files stay on disk; anyone with a pre-existing clone keeps their copy, just stops syncing future changes to them) - rewrite .gitignore to cover all common Go build outputs (hoot, hoot.exe, hoot-test, hoot-test.exe, hoot-cli variants; *.test/.out coverage files; vendor/; standard IDE scratch files; .env locals) The binaries are obsolete anyway: GoReleaser (#43) handles releases on tagged commits, and `go build -o hoot` is documented in the README. No history rewrite — the binaries are still in past commits for anyone who needs to bisect through them. This is the minimum surgical change to stop the bleeding from here. No conflict with #61, #62, #63 (silent-failures-hoot, publish-error- surfacing, tipping-path-hardening) or any other open branch.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Issue #50 was closed in July 2026 with the title "Remove binary from git and add .gitignore" — but the binaries were never actually untracked. This PR does what #50 claimed to do.
What this fixes
26 MB of build artifacts were tracked in
master:hoot.exe— 13,054,464 bytes (Windows build of hoot)hoot-test— 13,012,992 bytes (Linux binary built byhoot_test.go'sTestMainfor black-box tests)That's 26 MB bloating every clone, every
git fetch, every CI checkout, and every PR diff stat — for files that have no business being in source control.How
git rm --cached hoot.exe hoot-test— files stay on disk for anyone with a pre-existing clone, but stop syncing future changes..gitignore(was just.aider*) to cover:hoot,hoot.exe,hoot-test,hoot-test.exe,hoot-cli, plus*.exe/*.so/*.dylibfor renamed/relocated binaries*.test,*.out,coverage.txt,coverage.html,*.coverprofilego.work,go.work.sum.aider*,.idea/,.vscode/,*.swp,*.swo,.DS_Storevendor/.env,.env.local,*.localNo history rewrite
The binaries are still in past commits for anyone who needs to bisect through them. This is the minimum surgical change — stop the bleeding from here. If you want a clean history later,
git filter-repo(or BFG) can purge the blob references; that's a separate, more invasive change that requires coordination with all clones.Conflict check
defaultRelays,generateProfileID,payInvoiceNWC. This PR touches.gitignoreand removes two tracked files.Related but not in this PR
log.Fatalfdefer-skipping bug on the publish path. There are still 12 remaininglog.Fatalfcalls inmain()that bypassdefer eventCache.Close()on the failure path — same shape as fix(hoot): publishNote counts successes; error path no longer skips defers #62's fix, mechanical follow-up. Worth its own PR so this one stays focused.hoot_test.gotest (TestNWCParsingfrom fix(tipping): validate NWC URI before saving; add HTTP timeouts on LNURL #63) requires Go to run. The repo has no CI workflow yet — adding.github/workflows/ci.ymlrunninggo test -race ./...would be a clean next step.