On 06/12/2017 06:06 PM, Junio C Hamano wrote:
Torsten Bögershausen <tboegi@xxxxxx> writes:
Thanks for working on this (and keeping me in cc)
The commit head line does not fully match my expactions:
"doc: fix location of index in worktree scenatio"
"doc:" is OK, but is the "location of index" fixed ?
Actually something that includes the important stuff:
"doc"
"fix"
"normalize the line endings"
"worktree scenatio"
could be more helpful.
How about this as a header for the commit:
"doc: normalize the line endings in a worktree scenatio"
Andreas's patch does not "normalize" anything, though.
doc: do not encourage `rm .git/index` in an example
When illustrating how to force normalizing the line endings,
gitattributes documentation tells the user to `rm .git/index`.
This is incorrect for two reasons. We shouldn't be encouraging
users to futz with the internal implementation of Git using raw
filesystem tools like "rm" too much. Also, when ".git" is not a
directory but a "gitfile" pointing at the real location of the
real ".git" directory, `rm .git/index` would not work anyway.
The point of the step in the illustration is to remove all
entries from the index without touching the working tree, and
the way to do it with Git is to use `read-tree --empty`.
perhaps?
You _could_ mention "worktree scenario" but that is not the sole
user of the gitfile facility (e.g. a submodule working tree also
uses ".git" that is a gitfile pointing at the real repository
location), and "worktree" is not the real root cause of the problem
("gitfile" is), so I do not think it is essential to do so. If we
really want to, we can add to the second from the paragraph
something like this:
... would not work anyway (the use of ".git" that is "gitfile"
is often seen in a secondary working tree managed by "git
worktree" and in a working tree of a submodule).
That's better ... here is my attempt to improve
doc: do not use `rm .git/index` when normalizing line endings
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 futz with the internal implementation of Git using raw
file system tools like "rm".
Second, when submodules or second working trees are used, ".git"
is a not a directory but a "gitfile" pointing at the location of the
real ".git" directory, `rm .git/index` does not work.
The point of the step in the illustration is to remove all
entries from the index without touching the working tree, and
the way to do it with Git is to use `read-tree --empty`.