git-submodule.sh: 'checkout' is a valid update mode
authorFrancesco Pretto <ceztko@gmail.com>
Sun, 5 Jan 2014 02:50:48 +0000 (03:50 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 7 Jan 2014 17:20:59 +0000 (09:20 -0800)
commitefa8fd7ee8eb36df55b3549f6009f000347a796d
treec584a00d5e6afbab73184130330a2371cf5c83fd
parentb9cf14d43b221fc2cce07b63d1dca408c17946e3
git-submodule.sh: 'checkout' is a valid update mode

'checkout' is documented as one of the valid values for the
'submodule.<name>.update' variable, and in a repository with the
variable set to 'checkout', "git submodule update" command does
update using the 'checkout' mode.

However, it has been an accident that the implementation works this
way; any unknown value would trigger the same codepath and update
using the 'checkout' mode.

Explicitly list 'checkout' as one of the known update modes, and
error out when an unknown update mode is used.

Teach the codepath that initializes the configuration variable from
an in-tree .gitmodules that 'checkout' is one of the valid values.
The code since ac1fbbda (submodule: do not copy unknown update mode
from .gitmodules, 2013-12-02) used to treat the value 'checkout' as
unknown and mapped it to 'none', which made little sense.  With this
change, 'checkout' specified in .gitmodules will stay to be 'checkout'.

Signed-off-by: Francesco Pretto <ceztko@gmail.com>
Signed-off-by: Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-submodule.sh