git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v3 5/5] Documentation: update add --force option + ignore=all config

From
Ben Knoble <ben.knoble@gmail.com>
Date
Jan 14, 2026, 17:53 UTC
Message-ID
<B94F0800-06B5-47BC-8C22-AAE1882E5B9C@gmail.com>
In-Reply-To
<37fe7956e089394bb1d75f4c8af4a3347b204803.1768376879.git.gitgitgadget@gmail.com>
Show 30 quoted lines
> Le 14 janv. 2026 à 02:48, Claus Schneider(Eficode) via GitGitGadget <gitgitgadget@gmail.com> a écrit :
> 
> From: "Claus Schneider(Eficode)" <claus.schneider@eficode.com>
> 
> - git-add.adoc: Update the --force documentation for submodule behaviour
>  to be added even the given configuration ignore=all.
> - gitmodules.adoc and config/submodule.adoc: The submodule config
>  ignore=all now need --force in order to update the index.
> 
> Signed-off-by: Claus Schneider(Eficode) <claus.schneider@eficode.com>
> ---
> Documentation/config/submodule.adoc | 13 +++++++------
> Documentation/git-add.adoc          |  5 ++++-
> Documentation/gitmodules.adoc       |  5 ++++-
> 3 files changed, 15 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/config/submodule.adoc b/Documentation/config/submodule.adoc
> index 0672d99117..250a6133d8 100644
> --- a/Documentation/config/submodule.adoc
> +++ b/Documentation/config/submodule.adoc
> @@ -32,15 +32,16 @@ submodule.<name>.fetchRecurseSubmodules::
> 
> submodule.<name>.ignore::
>    Defines under what circumstances "git status" and the diff family show
> -    a submodule as modified. When set to "all", it will never be considered
> -    modified (but it will nonetheless show up in the output of status and
> -    commit when it has been staged), "dirty" will ignore all changes
> -    to the submodule's work tree and
> +    a submodule as modified.
> +    Set to "all" will never consider the
Throughout this patch, missing “When set to…” for idiomatic English. 
Show 49 quoted lines
> submodule modified. It can
> +    nevertheless be staged using the option --force and it will then show up
> +    in the output of status.
> +    Set to "dirty" will ignore all changes to the submodule's work tree and
>    takes only differences between the HEAD of the submodule and the commit
>    recorded in the superproject into account. "untracked" will additionally
>    let submodules with modified tracked files in their work tree show up.
> -    Using "none" (the default when this option is not set) also shows
> -    submodules that have untracked files in their work tree as changed.
> +    Set to "none"(default) It is also shows submodules that have untracked
> +    files in their work tree as changed.
>    This setting overrides any setting made in .gitmodules for this submodule,
>    both settings can be overridden on the command line by using the
>    "--ignore-submodules" option. The 'git submodule' commands are not
> diff --git a/Documentation/git-add.adoc b/Documentation/git-add.adoc
> index 6192daeb03..941135dc63 100644
> --- a/Documentation/git-add.adoc
> +++ b/Documentation/git-add.adoc
> @@ -75,7 +75,10 @@ in linkgit:gitglossary[7].
> 
> `-f`::
> `--force`::
> -    Allow adding otherwise ignored files.
> +    Allow adding otherwise ignored files. The option is also used when
> +    `submodule.<name>.ignore=all` is set, but you want to stage an
> +    update of the submodule. The `path` to the submodule must be explicitly
> +    specified.
> 
> `--sparse`::
>    Allow updating index entries outside of the sparse-checkout cone.
> diff --git a/Documentation/gitmodules.adoc b/Documentation/gitmodules.adoc
> index d9bec8b187..3792da96aa 100644
> --- a/Documentation/gitmodules.adoc
> +++ b/Documentation/gitmodules.adoc
> @@ -70,7 +70,10 @@ submodule.<name>.ignore::
> --
>    all;; The submodule will never be considered modified (but will
>        nonetheless show up in the output of status and commit when it has
> -        been staged).
> +        been staged). Add `(new commits)` can be overruled using the
> +        `git add --force <submodule.path>`.
> +        The setting affects `status`, `update-index`, `diff` and `log`(due
> +        to underlaying `diff`).
> 
>    dirty;; All changes to the submodule's work tree will be ignored, only
>        committed differences between the `HEAD` of the submodule and its
> --
> gitgitgadget
> 
Previous: Claus Schneider(Eficode) via GitGitGadgetNext: Claus Schneider
Message 27 of 43 in “git-add : Respect submodule ignore=all and only add changes with --force”
  1. 0/5 git-add : Respect submodule ignore=all and only add changes with --forceClaus Schneider via GitGitGadget, Oct 18, 2025
  2. 1/5 read-cache: update add_files_to_cache to take param ignored_too(--force)Claus Schneider(Eficode) via GitGitGadget, Oct 18, 2025
  3. 2/5 read-cache: let read-cache respect submodule ignore=all and --forceClaus Schneider(Eficode) via GitGitGadget, Oct 18, 2025
  4. 3/5 tests: add new t2206-add-submodule-ignored.sh to test ignore=all scenarioClaus Schneider(Eficode) via GitGitGadget, Oct 18, 2025
  5. 4/5 tests: fix existing tests when add an ignore=all submoduleClaus Schneider(Eficode) via GitGitGadget, Oct 18, 2025
  6. 5/5 Documentation: update add --force and submodule ignore=all configClaus Schneider(Eficode) via GitGitGadget, Oct 18, 2025
  7. Phillip WoodOct 19, 2025
  8. 0/5 git-add : Respect submodule ignore=all and only add changes with --forceClaus Schneider via GitGitGadget, Nov 13, 2025
  9. 1/5 read-cache: update add_files_to_cache take param include_ignored_submodulesClaus Schneider(Eficode) via GitGitGadget, Nov 13, 2025
  10. Junio C HamanoNov 13, 2025
  11. 2/5 read-cache: add/read-cache respect submodule ignore=allClaus Schneider(Eficode) via GitGitGadget, Nov 13, 2025
  12. 3/5 tests: add new t2206-add-submodule-ignored.sh to test ignore=all scenarioClaus Schneider(Eficode) via GitGitGadget, Nov 13, 2025
  13. 4/5 tests: fix existing tests when add an ignore=all submoduleClaus Schneider(Eficode) via GitGitGadget, Nov 13, 2025
  14. 5/5 Documentation: add --include_ignored_submodules + ignore=all configClaus Schneider(Eficode) via GitGitGadget, Nov 13, 2025
  15. Junio C HamanoNov 13, 2025
  16. Claus SchneiderNov 14, 2025
  17. Claus SchneiderFeb 5, 2026
  18. Junio C HamanoFeb 5, 2026
  19. 0/5 git-add: Skip submodules with ignore=all unless --force and explicit path usedClaus Schneider via GitGitGadget, Jan 14, 2026
  20. 1/5 read-cache: update add_files_to_cache take param ignored_tooClaus Schneider(Eficode) via GitGitGadget, Jan 14, 2026
  21. 2/5 read-cache: submodule add need --force given ignore=all configurationClaus Schneider(Eficode) via GitGitGadget, Jan 14, 2026
  22. Kristoffer HaugsbakkJan 15, 2026
  23. Claus SchneiderJan 16, 2026
  24. 3/5 tests: t2206-add-submodule-ignored: ignore=all and add --force testsClaus Schneider(Eficode) via GitGitGadget, Jan 14, 2026
  25. 4/5 tests: fix existing tests when add an ignore=all submoduleClaus Schneider(Eficode) via GitGitGadget, Jan 14, 2026
  26. 5/5 Documentation: update add --force option + ignore=all configClaus Schneider(Eficode) via GitGitGadget, Jan 14, 2026
  27. Ben KnobleJan 14, 2026
  28. Claus SchneiderJan 16, 2026
  29. 0/5 git-add: Skip submodules with ignore=all unless --force and explicit path usedClaus Schneider via GitGitGadget, Feb 6, 2026
  30. 1/5 read-cache: update add_files_to_cache take param ignored_tooClaus Schneider(Eficode) via GitGitGadget, Feb 6, 2026
  31. Junio C HamanoFeb 9, 2026
  32. Junio C HamanoFeb 9, 2026
  33. 2/5 read-cache: submodule add need --force given ignore=all configurationClaus Schneider(Eficode) via GitGitGadget, Feb 6, 2026
  34. 3/5 tests: t2206-add-submodule-ignored: ignore=all and add --force testsClaus Schneider(Eficode) via GitGitGadget, Feb 6, 2026
  35. 4/5 tests: fix existing tests when add an ignore=all submoduleClaus Schneider(Eficode) via GitGitGadget, Feb 6, 2026
  36. 5/5 Documentation: update add --force option + ignore=all configClaus Schneider(Eficode) via GitGitGadget, Feb 6, 2026
  37. Kristoffer HaugsbakkMar 4, 2026
  38. Claus SchneiderMar 10, 2026
  39. Claus SchneiderMar 10, 2026
  40. Junio C HamanoFeb 20, 2026
  41. Claus SchneiderOct 20, 2025
  42. Phillip WoodOct 24, 2025
  43. Claus SchneiderNov 13, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.