Re: [PATCH v3 2/5] read-cache: submodule add need --force given ignore=all configuration
- From
Claus Schneider <claus.schneider@eficode.com>
- Date
- Jan 16, 2026, 16:07 UTC
- Message-ID
- <CA+GP4bpwMui5RT9ixo8iWyZ6XZDw3GnYhvgiqVmRq8dW7yo5RQ@mail.gmail.com>
- In-Reply-To
- <f021269b-c89c-41c8-aa08-2ec2443ac7e8@app.fastmail.com>
Thanks for feedback. Well noted and it will be reworded like this:
.... A message is printed (like ignored files) guiding the user to use the --force flag if the user explicitly wants to update the submodule reference.
The reason for the change is to support branch tracking in submodules with configuration `submdule.<name>.branch` or similar workflows where the user is not interested in tracking each update of the sha1 in the submdule. You can additionally set `submodule.<name>.ignore=all` and the `git status`will state nothing and, with this patch, the `git add` does not either - as the default behaviour. This patch changes the workflow to a more logical behaviour and similar to workflow for ignored files.
The patch gives more scenarios for submodules to be used effectively with less friction similar to the "repo" tool. A submodule can be added for many different reasons than a hard dependency. It can be added as loosely coupled dependencies whereas the user wants the latest based on the configuration `submoule.<name>.branch`, but are not interested to track each commit in the `super-repo`. Currently it gives friction of handling conflicts between branches even the sha1's are fast-forward and the user just wants the latest in any way. A developer can still add a sha1 explicitly to track updates. ...
// Claus
On Thu, Jan 15, 2026 at 4:43 PM Kristoffer Haugsbakk <kristofferhaugsbakk@fastmail.com> wrote:
Show 35 quoted lines
> > On Wed, Jan 14, 2026, at 08:47, Claus Schneider(Eficode) via GitGitGadget wrote: > > From: "Claus Schneider(Eficode)" <claus.schneider@eficode.com> > > > > Submodules configured with ignore=all are now skipped during add operations > > unless overridden by --force and the submodule path is explicitly specified. > > > > A message is printed (like ignored files) guiding the user to use the > > --force flag if the user has explicitely want to update the submodule > > reference. > > > > The reason for the change is support submodule branch tracking or > > similar and git status states nothing and git add should not add either > > as a default behaviour. The workflow is more logic and similar to regular > > ignored files even the submodule is already tracked. > > > > The change opens up a lot of possibilities for submodules to be used > > more freely and simular to the repo tool. A submodule can be added for many > > s/simular/similar/ ? Although the sentence doesn’t quite make sense to > me. Well I’m unfamiliar with the domain anyway. ;) > > > more reason and loosely coupled dependencies to the super repo which often > > s/more reason/more reasons/ ? > > > gives the friction of handle the explicit commits and updates without > > s/handle/handling/ > > > the need for tracking the submodule sha1 by sha1. > > > > Signed-off-by: Claus Schneider(Eficode) <claus.schneider@eficode.com> > > --- > >[snip]