aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/git-submodule.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2014-04-02 14:15:36 -0700
committerJunio C Hamano <gitster@pobox.com>2014-04-02 14:15:36 -0700
commitd851ffb91f8c25f51b284cd4e849757d656de0d1 (patch)
treeaae922c6fa4df1621177805814815b59c95c101e /Documentation/git-submodule.txt
parentedac360bdd35eacfb11005583aa7736d72a063bd (diff)
downloadgit-d851ffb91f8c25f51b284cd4e849757d656de0d1.tar.gz
Revert "submodule: explicit local branch creation in module_clone"
This reverts commit 23d25e48f5ead73c9ce233986f90791abec9f1e8, as it is broken for users who haven't opted into the new feature of checking out submodule.*.branch with update mode set to checkout.
Diffstat (limited to 'Documentation/git-submodule.txt')
-rw-r--r--Documentation/git-submodule.txt34
1 files changed, 8 insertions, 26 deletions
diff --git a/Documentation/git-submodule.txt b/Documentation/git-submodule.txt
index a15d92d09b..89c4d3e394 100644
--- a/Documentation/git-submodule.txt
+++ b/Documentation/git-submodule.txt
@@ -15,7 +15,7 @@ SYNOPSIS
'git submodule' [--quiet] init [--] [<path>...]
'git submodule' [--quiet] deinit [-f|--force] [--] <path>...
'git submodule' [--quiet] update [--init] [--remote] [-N|--no-fetch]
- [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>]
+ [-f|--force] [--rebase|--merge] [--reference <repository>]
[--depth <depth>] [--recursive] [--] [<path>...]
'git submodule' [--quiet] summary [--cached|--files] [(-n|--summary-limit) <n>]
[commit] [--] [<path>...]
@@ -155,31 +155,13 @@ it contains local modifications.
update::
Update the registered submodules, i.e. clone missing submodules and
- checkout the commit specified in the index of the containing
- repository. The update mode defaults to `checkout`, but can be
- configured with the `submodule.<name>.update` setting or the
- `--rebase`, `--merge`, or `--checkout` options.
-+
-For updates that clone missing submodules, checkout-mode updates will
-create submodules with detached HEADs; all other modes will create
-submodules with a local branch named after `submodule.<path>.branch`.
-+
-For updates that do not clone missing submodules, the submodule's HEAD
-is only touched when the remote reference does not match the
-submodule's HEAD (for none-mode updates, the submodule is never
-touched). The remote reference is usually the gitlinked commit from
-the superproject's tree, but with `--remote` it is the upstream
-subproject's `submodule.<name>.branch`. This remote reference is
-integrated with the submodule's HEAD using the specified update mode.
-For checkout-mode updates, that will result in a detached HEAD. For
-rebase- and merge-mode updates, the commit referenced by the
-submodule's HEAD may change, but the symbolic reference will remain
-unchanged (i.e. checked-out branches will still be checked-out
-branches, and detached HEADs will still be detached HEADs). If none
-of the builtin modes fit your needs, set `submodule.<name>.update` to
-`!command` to configure a custom integration command. `command` can
-be any arbitrary shell command that takes a single argument, namely
-the sha1 to update to.
+ checkout the commit specified in the index of the containing repository.
+ This will make the submodules HEAD be detached unless `--rebase` or
+ `--merge` is specified or the key `submodule.$name.update` is set to
+ `rebase`, `merge` or `none`. `none` can be overridden by specifying
+ `--checkout`. Setting the key `submodule.$name.update` to `!command`
+ will cause `command` to be run. `command` can be any arbitrary shell
+ command that takes a single argument, namely the sha1 to update to.
+
If the submodule is not yet initialized, and you just want to use the
setting as stored in .gitmodules, you can automatically initialize the