add: add --chmod=+x / --chmod=-x options
commit4e55ed32db81d06a4f618e2cc0f9da0e223ae304
authorEdward Thomson <ethomson@edwardthomson.com>
Tue, 31 May 2016 22:08:18 +0000 (31 17:08 -0500)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Jun 2016 00:43:39 +0000 (7 17:43 -0700)
tree3316fb763bd68cde0303b6ef964a1dac214d3668
parent60bd4b1c513bb652cdffad44382046ca872140eb
add: add --chmod=+x / --chmod=-x options

The executable bit will not be detected (and therefore will not be
set) for paths in a repository with `core.filemode` set to false,
though the users may still wish to add files as executable for
compatibility with other users who _do_ have `core.filemode`
functionality.  For example, Windows users adding shell scripts may
wish to add them as executable for compatibility with users on
non-Windows.

Although this can be done with a plumbing command
(`git update-index --add --chmod=+x foo`), teaching the `git-add`
command allows users to set a file executable with a command that
they're already familiar with.

Signed-off-by: Edward Thomson <ethomson@edwardthomson.com>
Helped-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/add.c
builtin/checkout.c
builtin/commit.c
cache.h
read-cache.c
t/t3700-add.sh