Development record
gitutil.ArchiveTree reads export attributes with `git check-attr --cached` (the index) while `git archive` reads them from the archived tree, so the two disagree when a .gitattributes change is staged but not committed: the launch listing can include or omit a path the released archive does the opposite with. `check-attr --source=<rev>` (git 2.40 or later) reads the same tree git archive does.
issueresolvedminoriss-2609260933592838
gitutil.ArchiveTree reads export attributes with git check-attr --cached (the index) while git archive reads them from the archived tree, so the two disagree when a .gitattributes change is staged but not committed: the launch listing can include or omit a path the released archive does the opposite with. check-attr --source=<rev> (git 2.40 or later) reads the same tree git archive does.
Grounds
- pursued: the launch listing equals git archive's tree whatever is staged; a staged .gitattributes change that moves a file in the listing but not in the archive would show it wrong
Frontmatter
| id | iss-2609260933592838 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609260933592838-archive-tree-reads-attributes-from-the.md
open on GitHub ↗ · commit history ↗