Rename submodule.<name>.rebase to submodule.<name>.update
authorJohan Herland <johan@herland.net>
Wed, 3 Jun 2009 06:27:06 +0000 (08:27 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 3 Jun 2009 07:04:52 +0000 (00:04 -0700)
commit329484256e0fe42676e93669122e7a5a007ef4ed
treeb745d01d1380f2bd9c8c7c88d5c0e59b5f8009e8
parentca2cedba70e9356a1a20b0e39acd07ab92fee80e
Rename submodule.<name>.rebase to submodule.<name>.update

The addition of "submodule.<name>.rebase" demonstrates the usefulness of
alternatives to the default behaviour of "git submodule update". However,
by naming the config variable "submodule.<name>.rebase", and making it a
boolean choice, we are artificially constraining future git versions that
may want to add _more_ alternatives than just "rebase".

Therefore, while "submodule.<name>.rebase" is not yet in a stable git
release, future-proof it, by changing it from

  submodule.<name>.rebase = true/false

to

  submodule.<name>.update = rebase/checkout

where "checkout" specifies the default behaviour of "git submodule update"
(checking out the new commit to a detached HEAD), and "rebase" specifies
the --rebase behaviour (where the current local branch in the submodule is
rebase onto the new commit). Thus .update == checkout is equivalent to
.rebase == false, and .update == rebase is equivalent to .rebase == true.
Finally, leaving .update unset is equivalent to leaving .rebase unset.

In future git versions, other alternatives to "git submodule update"
behaviour can be included by adding them to the list of allowable values
for the submodule.<name>.update variable.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-submodule.txt
Documentation/gitmodules.txt
git-submodule.sh
t/t7406-submodule-update.sh