Jeff King <peff@xxxxxxxx> writes: > 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). Thanks. > [1] https://lore.kernel.org/git/20201005071751.GA2290770@xxxxxxxxxxxxxxxxxxxxxxx/ > [2] https://lore.kernel.org/git/YDiWs6yyv3U9YvC2@xxxxxxxxxxxxxxxxxxxxxxx/ > > 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