Am 21.09.2016 um 20:12 schrieb Junio C Hamano:
Thomas Gummerer <t.gummerer@xxxxxxxxx> writes:
I am surprised that add --chmod=+x changes only the index, but not
the file on disk!?!
I *think* --chmod is mainly thought of as a convenience for git users
on a filesystem that doesn't have an executable flag. So it was
introduced this way as the permissions on the file system don't matter
in that case.
OK.
A change of that behaviour may make sense for this
though.
Hm, git-add is for moving content from the worktree to the index. I
don't think it should change the worktree. I should not have been surprised.
It should probably not even introduce a change in the index that it does
not see in the worktree, but, hey, git-add is a reasonable porcelain
substitute for the --chmod task that otherwise git-update-index would
have to do.
Perhaps we shouldn't even test this, then?
If I am right that git-add should not change the worktree, it should be
tested. But 'git status -s' is probably the wrong tool for the reasons
you gave (it could accidentally detect a change due to content
difference instead of a file mode difference). At any rate, such a test
must be protected with POSIXPERM.
-- Hannes