Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

What is this add-on for?

Submodule Changes for Bitbucket helps visualize modified lines of code in commits and pull requests for repositories with submodules.

...

Submodule Changes for Bitbucket also gives an ability to watch Blame, leave comments on the entire pull request, a particular file, or on specific lines of code in a file for more convenient pull requests review. 

There are several exceptions when the app doesn't show changes committed to a submodule:

  • When a submodule is placed not in the current Bitbucket instance
  • When a submodule is just added or deleted in shown changes
  • When there is a submodule conflict

Submodule Changes for Bitbucket includes a merge check Submodules fast-forward merge to ensure that all submodules can be merged to the default branch in fast-forward mode. If we didn't merge the submodule before merging the super-repository, we'd be able to do it afterward in fast-forward mode, and the link to the submodule will remain unchanged.

Merge-check must first be enabled in the project or repository settings.

Merge check restrictions:

  • Merge check is performed only at the first level of a submodule, and nested submodules will not be checked
  • Merge check only works for submodules hosted in Bitbucket it's been enabled in
  • Merge check may skip submodules that are a part of truncated changes when the changes list is too big to be shown

How to install and configure the app?

...

How to turn off the app for a certain submodule?

In some cases, the number of changes in a pull request with a submodule can exceed the page.max.changes limit. For instance, when a dependency on some large project is used as a submodule. That resulted in an incomplete displaying of changes in the pull request diff view.

To disable the Submodule Changes for Bitbucket app for a specific submodule in a repository, you need to add a special property in the .gitmodules file using the following Git command:

Code Block
git config --file .gitmodules submodule.<name>.ignoreChanges true

...