Skip to content

Automated Dependency Updates for Git Submodules

Renovate supports updating Git Submodules dependencies.

Enabling

Git Submodules functionality is currently in beta testing, so you must opt-in to test it. To enable it, add a configuration like this to either your bot config or your renovate.json:

{
  "git-submodules": {
    "enabled": true
  }
}

If you find any bugs, please create a new discussion first. If you find that it works well, then let us know too.

File Matching

By default, Renovate will check any files matching the following regular expression: (^|/)\.gitmodules$.

For details on how to extend a manager's fileMatch value, please follow this link.

Supported datasources

This manager supports extracting the following datasources: git-refs.

References## Default config

{
  "enabled": false,
  "versioning": "git",
  "fileMatch": [
    "(^|/)\\.gitmodules$"
  ]
}

Additional Information

Keeps publicly accessible Git submodules updated within a repository.

Renovate does not support updating Git submodules that are hosted on a private repository. Subscribe to issue #10149 on GitHub to keep track of our progress towards supporting private Git submodules.

You can customize the per-submodule checks of the git-submodules manager like this:

{
  "ignoreDeps": ["path/to/submodule", "path/to/submodule2"],
  "git-submodules": {
    "enabled": true
  }
}

Open items

The below list of features and bugs were current when this page was generated on March 30, 2023.

Feature requests

  • Update git-submodules only to latest tag #10234
  • Private git-submodules support #10149
  • changelog for git submodules #7776
  • Only update dependency if the status of its new commit is green #6079

Bug reports

  • Using relative path in .gitsubmodule leads to random errors #10655
  • Error updating branch for submodule update #9532
  • custom repo port should be rewritten when converting from SSH to HTTP #9003