[PATCH v4] doc: do not use `rm .git/index` when normalizing line endings
- From
Andreas Heiduk <asheiduk@gmail.com>
- Date
- Jun 14, 2017, 06:51 UTC
- Message-ID
- <20170614065139.10825-1-asheiduk@gmail.com>
- In-Reply-To
- <20170613221506.32732-1-asheiduk@gmail.com>
When illustrating how to normalize the line endings, the documentation in gitattributes tells the user to `rm .git/index`.
This is incorrect for two reasons:
- Users shouldn't be instructed to mess around with the internal implementation of Git using raw file system tools like `rm`.
- Within a submodule or an additional working tree `.git` is just a file containing a `gitdir: <path>` pointer into the real `.git` directory. Therefore `rm .git/index` does not work.
The purpose of the `rm .git/index` instruction is to remove all entries from the index without touching the working tree. The way to do this with Git is to use `read-tree --empty`.
Signed-off-by: Andreas Heiduk <asheiduk@gmail.com> Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Torsten Bögershausen <tboegi@web.de> --- Documentation/gitattributes.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Documentation/gitattributes.txt b/Documentation/gitattributes.txt index 473648386..2a2d7e2a4 100644 --- a/Documentation/gitattributes.txt +++ b/Documentation/gitattributes.txt @@ -229,7 +229,7 @@ From a clean working directory: ------------------------------------------------- $ echo "* text=auto" >.gitattributes -$ rm .git/index # Remove the index to re-scan the working directory +$ git read-tree --empty # Clean index, force re-scan of working directory $ git add . $ git status # Show files that will be normalized $ git commit -m "Introduce end-of-line normalization"
-- 2.13.0