Document why each fixture archive is .gitignored#2575
Merged
Sebastian Thiel (Byron) merged 2 commits intoGitoxideLabs:mainfrom May 6, 2026
Merged
Document why each fixture archive is .gitignored#2575Sebastian Thiel (Byron) merged 2 commits intoGitoxideLabs:mainfrom
Sebastian Thiel (Byron) merged 2 commits intoGitoxideLabs:mainfrom
Conversation
Closes GitoxideLabs#2316. Co-Authored-By: Claude <noreply@anthropic.com>
Sebastian Thiel (Byron)
approved these changes
May 6, 2026
Member
Sebastian Thiel (Byron)
left a comment
There was a problem hiding this comment.
Thanks a lot!
I read through all the comments, made a couple of changes, and think that while not all may be 100% correct, I don't know any better by now and these comments are better than nothing.
They also set the expectation that future additions to the .gitignore files will require comments, which is the right thing to do.
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.
Document why each fixture archive is
.gitignoredFixes #2316
What changed
For every
tests/fixtures/generated-archives/.gitignorein the workspace, aninline
#-comment now sits above each listed*.tarentry explaining why thatarchive is not committed. The reason for each line was derived from reading the
corresponding
*.shfixture script (and, where the script alone wasn'tconclusive, the surrounding test code).
Only
.gitignorefiles are touched. No fixture scripts, archives, or test codeare modified.
Recurring categories
The reasons cluster into a small set:
privileges, or aren't representable at all: symlinks (
ln -s), FIFOs(
mkfifo), restrictive modes (chmod 000,chmod -x).core.worktree,.git/objects/info/alternates, linked-worktreegitdirpointers,.git/modules/<name>/config,--shared file://$PWD/...clones.gitbinary (git check-attr,git check-ignore,git blame --porcelain,git fetch --refmap= --dry-run,git fetch-pack --diag-url). Their textual output is sensitive to the gitversion, so a committed snapshot would drift from the binary running the
test.
make_ignorecase_collisionsproduces pathsdiffering only by case, which fail to extract on default macOS / Windows
volumes.
gix-index/file_metadata.shwrites pre-1970and post-2038 mtimes whose representable range depends on the host
filesystem.
gix-diff/make_diff_for_sliders_repo*),where the existing maintainer comment was preserved and slightly expanded.
Files changed (21)
tests/fixtures/generated-archives/.gitignoreunder:gix-archive,gix-attributes,gix-blame,gix-command,gix-config,gix-diff,gix-dir,gix-discover,gix-filter,gix-fsck,gix-ignore,gix-index,gix-odb,gix-ref,gix-refspec,gix-status,gix-url,gix-worktree,gix-worktree-state,gix-worktree-stream,gix.Notes for review
A handful of archives don't have an obviously host-dependent script, so the
comment is the most plausible reason from the surrounding test code rather than
a definitive one:
gix-config/make_config_repo.tar(env-var-driven config paths into thegenerated worktree)
gix-command/win_path_lookup.tar(the rationale here is the weakest of thebunch; if it turns out the archive can be committed, removing the
exclusion is now a one-line follow-up)
gix-blame/make_blame_repo*.tar(version-sensitivegit blame --porcelainbaselines under
.git/*.baseline)If any of these should be re-tracked instead of explained, that's a cheaper
change to make on top of this PR than to gate it on.
🤖 Drafted by an AI agent (Claude Code) on behalf of the author, per
CONTRIBUTING.md's AI-disclosure guidance. Each comment was checked againstthe corresponding fixture script and the relevant test code before commit.