| 1 | submodule.<name>.url:: |
| 2 | The URL for a submodule. This variable is copied from the .gitmodules |
| 3 | file to the git config via 'git submodule init'. The user can change |
| 4 | the configured URL before obtaining the submodule via 'git submodule |
| 5 | update'. If neither submodule.<name>.active nor submodule.active are |
| 6 | set, the presence of this variable is used as a fallback to indicate |
| 7 | whether the submodule is of interest to git commands. |
| 8 | See linkgit:git-submodule[1] and linkgit:gitmodules[5] for details. |
| 9 | |
| 10 | submodule.<name>.update:: |
| 11 | The method by which a submodule is updated by 'git submodule update', |
| 12 | which is the only affected command, others such as |
| 13 | 'git checkout --recurse-submodules' are unaffected. It exists for |
| 14 | historical reasons, when 'git submodule' was the only command to |
| 15 | interact with submodules; settings like `submodule.active` |
| 16 | and `pull.rebase` are more specific. It is populated by |
| 17 | `git submodule init` from the linkgit:gitmodules[5] file. |
| 18 | See description of 'update' command in linkgit:git-submodule[1]. |
| 19 | |
| 20 | submodule.<name>.branch:: |
| 21 | The remote branch name for a submodule, used by `git submodule |
| 22 | update --remote`. Set this option to override the value found in |
| 23 | the `.gitmodules` file. See linkgit:git-submodule[1] and |
| 24 | linkgit:gitmodules[5] for details. |
| 25 | |
| 26 | submodule.<name>.fetchRecurseSubmodules:: |
| 27 | This option can be used to control recursive fetching of this |
| 28 | submodule. It can be overridden by using the --[no-]recurse-submodules |
| 29 | command-line option to "git fetch" and "git pull". |
| 30 | This setting will override that from in the linkgit:gitmodules[5] |
| 31 | file. |
| 32 | |
| 33 | submodule.<name>.ignore:: |
| 34 | Defines under what circumstances "git status" and the diff family show |
| 35 | a submodule as modified. |
| 36 | When set to "all" will never consider the submodule modified. It can |
| 37 | nevertheless be staged using the option --force and it will then show up |
| 38 | in the output of status. |
| 39 | When set to "dirty" will ignore all changes to the submodule's work tree and |
| 40 | takes only differences between the HEAD of the submodule and the commit |
| 41 | recorded in the superproject into account. "untracked" will additionally |
| 42 | let submodules with modified tracked files in their work tree show up. |
| 43 | When set to "none" (default) it also shows submodules as changed if they have |
| 44 | untracked files in their work tree. |
| 45 | This setting overrides any setting made in .gitmodules for this submodule, |
| 46 | both settings can be overridden on the command line by using the |
| 47 | "--ignore-submodules" option. The 'git submodule' commands are not |
| 48 | affected by this setting. |
| 49 | |
| 50 | submodule.<name>.active:: |
| 51 | Boolean value indicating if the submodule is of interest to git |
| 52 | commands. This config option takes precedence over the |
| 53 | submodule.active config option. See linkgit:gitsubmodules[7] for |
| 54 | details. |
| 55 | |
| 56 | submodule.<name>.gitdir:: |
| 57 | This sets the gitdir path for submodule <name>. This configuration is |
| 58 | respected when `extensions.submodulePathConfig` is enabled, otherwise it |
| 59 | has no effect. When enabled, this config becomes the single source of |
| 60 | truth for submodule gitdir paths and Git will error if it is missing. |
| 61 | See linkgit:git-config[1] for details. |
| 62 | |
| 63 | submodule.active:: |
| 64 | A repeated field which contains a pathspec used to match against a |
| 65 | submodule's path to determine if the submodule is of interest to git |
| 66 | commands. See linkgit:gitsubmodules[7] for details. |
| 67 | |
| 68 | submodule.recurse:: |
| 69 | A boolean indicating if commands should enable the `--recurse-submodules` |
| 70 | option by default. Defaults to false. |
| 71 | + |
| 72 | When set to true, it can be deactivated via the |
| 73 | `--no-recurse-submodules` option. Note that some Git commands |
| 74 | lacking this option may call some of the above commands affected by |
| 75 | `submodule.recurse`; for instance `git remote update` will call |
| 76 | `git fetch` but does not have a `--no-recurse-submodules` option. |
| 77 | For these commands a workaround is to temporarily change the |
| 78 | configuration value by using `git -c submodule.recurse=0`. |
| 79 | + |
| 80 | The following list shows the commands that accept |
| 81 | `--recurse-submodules` and whether they are supported by this |
| 82 | setting. |
| 83 | |
| 84 | * `checkout`, `fetch`, `grep`, `pull`, `push`, `read-tree`, |
| 85 | `reset`, `restore` and `switch` are always supported. |
| 86 | * `clone` and `ls-files` are not supported. |
| 87 | * `branch` is supported only if `submodule.propagateBranches` is |
| 88 | enabled |
| 89 | |
| 90 | submodule.propagateBranches:: |
| 91 | [EXPERIMENTAL] A boolean that enables branching support when |
| 92 | using `--recurse-submodules` or `submodule.recurse=true`. |
| 93 | Enabling this will allow certain commands to accept |
| 94 | `--recurse-submodules` and certain commands that already accept |
| 95 | `--recurse-submodules` will now consider branches. |
| 96 | Defaults to false. |
| 97 | |
| 98 | submodule.fetchJobs:: |
| 99 | Specifies how many submodules are fetched/cloned at the same time. |
| 100 | A positive integer allows up to that number of submodules fetched |
| 101 | in parallel. A value of 0 will give some reasonable default. |
| 102 | If unset, it defaults to 1. |
| 103 | |
| 104 | submodule.alternateLocation:: |
| 105 | Specifies how the submodules obtain alternates when submodules are |
| 106 | cloned. Possible values are `no`, `superproject`. |
| 107 | By default `no` is assumed, which doesn't add references. When the |
| 108 | value is set to `superproject` the submodule to be cloned computes |
| 109 | its alternates location relative to the superprojects alternate. |
| 110 | |
| 111 | submodule.alternateErrorStrategy:: |
| 112 | Specifies how to treat errors with the alternates for a submodule |
| 113 | as computed via `submodule.alternateLocation`. Possible values are |
| 114 | `ignore`, `info`, `die`. Default is `die`. Note that if set to `ignore` |
| 115 | or `info`, and if there is an error with the computed alternate, the |
| 116 | clone proceeds as if no alternate was specified. |