]> git.ipfire.org Git - thirdparty/git.git/commit - Documentation/git-update-index.txt
update-index: teach --cacheinfo a new syntax "mode,sha1,path"
authorJunio C Hamano <gitster@pobox.com>
Sun, 23 Mar 2014 23:57:28 +0000 (16:57 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Mar 2014 17:43:35 +0000 (10:43 -0700)
commitec160ae12b0ae938ed5076b9f604e88976fc429c
tree5749b77dfdf7087398c2e9545a75b3779a2a4fb7
parente703d7118c68bb5b1f850dae4060609a88500b18
update-index: teach --cacheinfo a new syntax "mode,sha1,path"

The "--cacheinfo" option is unusual in that it takes three option
parameters.  An option with an optional parameter is bad enough.  An
option with multiple parameters is simply insane.

Introduce a new syntax that takes these three things concatenated
together with a comma, which makes the command line syntax more
uniform across subcommands, while retaining the traditional syntax
for backward compatiblity.

If we were designing the "update-index" subcommand from scratch
today, it may probably have made sense to make this option (and
possibly others) a command mode option that does not take any option
parameter (hence no need for arg-help).  But we do not live in such
an ideal world, and as far as I can tell, the command still supports
(and must support) mixed command modes in a single invocation, e.g.

    $ git update-index path1 --add path2 \
        --cacheinfo 100644 $(git hash-object --stdin -w <path3) path3 \
path4

must make sure path1 is already in the index and update all of these
four paths.  So this is probably as far as we can go to fix this issue
without risking to break people's existing scripts.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-update-index.txt
builtin/update-index.c
t/t2107-update-index-basic.sh