mbox series

[0/9] leftover bits from symlinked gitattributes, etc topics

Message ID YI12hK4X/gfl3u29@coredump.intra.peff.net (mailing list archive)
Headers show
Series leftover bits from symlinked gitattributes, etc topics | expand

Message

Jeff King May 1, 2021, 3:40 p.m. UTC
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

Comments

Junio C Hamano May 3, 2021, 5:36 a.m. UTC | #1
Jeff King <peff@peff.net> 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@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