From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS53758 23.128.96.0/24 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by dcvr.yhbt.net (Postfix) with ESMTP id 68C5D1F5AE for ; Sat, 1 May 2021 15:43:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231670AbhEAPoB (ORCPT ); Sat, 1 May 2021 11:44:01 -0400 Received: from cloud.peff.net ([104.130.231.41]:42154 "EHLO cloud.peff.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230450AbhEAPoA (ORCPT ); Sat, 1 May 2021 11:44:00 -0400 Received: (qmail 26667 invoked by uid 109); 1 May 2021 15:43:10 -0000 Received: from Unknown (HELO peff.net) (10.0.1.2) by cloud.peff.net (qpsmtpd/0.94) with ESMTP; Sat, 01 May 2021 15:43:10 +0000 Authentication-Results: cloud.peff.net; auth=none Received: (qmail 10899 invoked by uid 111); 1 May 2021 15:43:10 -0000 Received: from coredump.intra.peff.net (HELO sigill.intra.peff.net) (10.0.0.2) by peff.net (qpsmtpd/0.94) with (TLS_AES_256_GCM_SHA384 encrypted) ESMTPS; Sat, 01 May 2021 11:43:10 -0400 Authentication-Results: peff.net; auth=none Date: Sat, 1 May 2021 11:43:09 -0400 From: Jeff King To: git@vger.kernel.org Subject: [PATCH 9/9] docs: document symlink restrictions for dot-files Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org We stopped allowing symlinks for .gitmodules files in 10ecfa7649 (verify_path: disallow symlinks in .gitmodules, 2018-05-04), and we stopped following symlinks for .gitattributes, .gitignore, and .mailmap in the commits from 204333b015 (Merge branch 'jk/open-dotgitx-with-nofollow', 2021-03-22). The reasons are discussed in detail there, but we never adjusted the documentation to let users know. This hasn't been a big deal since the point is that such setups were mildly broken and thought to be unusual anyway. But it certainly doesn't hurt to be clear and explicit about it. Suggested-by: Philip Oakley Signed-off-by: Jeff King --- Documentation/gitattributes.txt | 7 +++++++ Documentation/gitignore.txt | 5 +++++ Documentation/gitmailmap.txt | 7 +++++++ Documentation/gitmodules.txt | 8 ++++++++ 4 files changed, 27 insertions(+) diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt index cfcfa800c2..dfda94d996 100644 --- a/Documentation/gitattributes.txt +++ b/Documentation/gitattributes.txt @@ -1247,6 +1247,13 @@ to: [attr]binary -diff -merge -text ------------ +NOTES +----- + +Note that Git does not follow symbolic links when accessing a +`.gitattributes` file in the working tree. This keeps behavior +consistent when the file is accessed from the index or a tree versus +from the filesystem. EXAMPLES -------- diff --git a/Documentation/gitignore.txt b/Documentation/gitignore.txt index 5751603b13..4b6fd8d2cd 100644 --- a/Documentation/gitignore.txt +++ b/Documentation/gitignore.txt @@ -149,6 +149,11 @@ not tracked by Git remain untracked. To stop tracking a file that is currently tracked, use 'git rm --cached'. +Note that Git does not follow symbolic links when accessing a +`.gitignore` file in the working tree. This keeps behavior consistent +when the file is accessed from the index or a tree versus from the +filesystem. + EXAMPLES -------- diff --git a/Documentation/gitmailmap.txt b/Documentation/gitmailmap.txt index 3fb39f801f..eb65eeb37f 100644 --- a/Documentation/gitmailmap.txt +++ b/Documentation/gitmailmap.txt @@ -55,6 +55,13 @@ this would also match the 'Commit Name ' above: Proper Name CoMmIt NaMe -- +NOTES +----- + +Note that Git does not follow symbolic links when accessing a `.mailmap` +file in the working tree. This keeps behavior consistent when the file +is accessed from the index or a tree versus from the filesystem. + EXAMPLES -------- diff --git a/Documentation/gitmodules.txt b/Documentation/gitmodules.txt index 8e333dde1b..ca1c42b405 100644 --- a/Documentation/gitmodules.txt +++ b/Documentation/gitmodules.txt @@ -98,6 +98,14 @@ submodule..shallow:: shallow clone (with a history depth of 1) unless the user explicitly asks for a non-shallow clone. +NOTES +----- + +Note that Git does not allow the `.gitmodules` file within a working +tree to be a symbolic link, and will refuse to check out such a tree +entry. This keeps behavior consistent when the file is accessed from the +index or a tree versus from the filesystem, and helps Git reliably +enforce security checks of the file contents. EXAMPLES -------- -- 2.31.1.875.g5dccece0aa