[PATCH 0/9] leftover bits from symlinked gitattributes, etc topics
- From
Jeff King <peff@peff.net>
- Date
- May 1, 2021, 15:40 UTC
- Message-ID
- <YI12hK4X/gfl3u29@coredump.intra.peff.net>
A while back, I had a topic[1] that treated symlinked .gitattributes (and .gitignore and .mailmap) the same as .gitmodules: forbidding them in the index, complaining about them via fsck, etc.
In the end, we decided not to do that[2], and instead just open the files with O_NOFOLLOW instead. As I said in that thread, we could salvage some of the cleanups, fsck checks, and docs from the original topic. So here that is. (The new topic is in master but not yet released; so while this is not strictly a bug-fix for an existing topic, it would be good to get especially the doc improvements into the same release).
[1] https://lore.kernel.org/git/20201005071751.GA2290770@coredump.intra.peff.net/ [2] https://lore.kernel.org/git/YDiWs6yyv3U9YvC2@coredump.intra.peff.net/
The patches are:
[1/9]: t7415: remove out-dated comment about translation [2/9]: fsck_tree(): fix shadowed variable [3/9]: fsck_tree(): wrap some long lines
These three are really independent fixes and cleanups, that could be
taken separately.[4/9]: t7415: rename to expand scope [5/9]: t7450: test verify_path() handling of gitmodules [6/9]: t7450: test .gitmodules symlink matching against obscured names
These three are just cleaning up and improving the tests for the
existing handling of the .gitmodules symlinks.[7/9]: t0060: test ntfs/hfs-obscured dotfiles [8/9]: fsck: warn about symlinked dotfiles we'll open with O_NOFOLLOW
These two extend fsck checks (warnings, not errors) to the new
files. I think this is an improvement, but I could be persuaded
otherwise (and these two could be dropped independent of the rest).[9/9]: docs: document symlink restrictions for dot-files
And this covers documentation for all of the files (including
.gitmodules). Documentation/gitattributes.txt | 7 ++
Documentation/gitignore.txt | 5 +
Documentation/gitmailmap.txt | 7 ++
Documentation/gitmodules.txt | 8 ++
cache.h | 1 +
fsck.c | 84 ++++++++++---
fsck.h | 3 +
path.c | 5 +
t/helper/test-path-utils.c | 46 +++++--
t/t0060-path-utils.sh | 30 +++++
...ule-names.sh => t7450-bad-git-dotfiles.sh} | 116 +++++++++++++-----
utf8.c | 5 +
utf8.h | 1 +
13 files changed, 257 insertions(+), 61 deletions(-)
rename t/{t7415-submodule-names.sh => t7450-bad-git-dotfiles.sh} (70%)-Peff