]> git.ipfire.org Git - thirdparty/git.git/commitdiff
docs: document symlink restrictions for dot-files
authorJeff King <peff@peff.net>
Mon, 3 May 2021 20:43:28 +0000 (16:43 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 4 May 2021 02:52:03 +0000 (11:52 +0900)
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 <philipoakley@iee.email>
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/gitattributes.txt
Documentation/gitignore.txt
Documentation/gitmailmap.txt
Documentation/gitmodules.txt

index cfcfa800c2d05743fe503138f33e93e2ac521500..83fd4e19a410ae7e4028e77384653d1c637aaa08 100644 (file)
@@ -1247,6 +1247,12 @@ to:
 [attr]binary -diff -merge -text
 ------------
 
+NOTES
+-----
+
+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
 --------
index 5751603b13f40cfd4b1d5b577fd0596e5b50f537..53e7d5c914d2d2e220a39a36a82cbd7f10fee9bc 100644 (file)
@@ -149,6 +149,10 @@ not tracked by Git remain untracked.
 To stop tracking a file that is currently tracked, use
 'git rm --cached'.
 
+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
 --------
 
index 3fb39f801fb13c51d598eb72cb8cc2a54ffa75c7..06f4af93fe6213164350125cc8d19012e83df17d 100644 (file)
@@ -55,6 +55,13 @@ this would also match the 'Commit Name <commit&#64;email.xx>' above:
        Proper Name <proper@email.xx> CoMmIt NaMe <CoMmIt@EmAiL.xX>
 --
 
+NOTES
+-----
+
+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
 --------
 
index 8e333dde1baeeadcf877bbb266606049a65639dd..dcee09b5001dc8cfb95753c0c02a5b49ba036752 100644 (file)
@@ -98,6 +98,14 @@ submodule.<name>.shallow::
        shallow clone (with a history depth of 1) unless the user explicitly
        asks for a non-shallow clone.
 
+NOTES
+-----
+
+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
 --------