Submodule diffs in merge requests

Dear All

We have a self-hosted gitlab-ee instance (15.5.4-ee.0 amd64). Some of our repositories use submodules. All these submodules projects are local, i.e. hosted on the same gitlab-ee instance.

For the repositories, I created a while ago (a month ago), the “compare” options on any merge requests pages give me a submodule diff option (described here: Recently, I created a new repo that uses submodules. I don’t get any submodule diff option for the merge requests in this new repo. The old and the new hash are just highlighted in red and green, respectively. The submodule compare option is a heavily useful tool for our enterprise.

Is this a per-repo configuration? I tried finding the option in Repository settings and documentation but couldn’t find anything relevant. Any pointers would be helpful.


I think this has to do with resolving the absolute path of my submodules. Gitlab can’t find the projects corresponding to the submodules.

Screenshot from 2022-11-22 13-22-50
Here, fury or external or main or main2 are not links. Ideally these should be HTTP links to the projects of these submodules. So should be the hashes after “@”. The older projects indeed have the HTTP links to the projects corresponding to their submodules.

I have verified the .gitmodules file. git submodule update/init commands work fine for me and others. I also tried linking to these via absolute path (, but that didn’t help either. I tried with and without the “.git” suffix, no change.

Would be grateful for any help or pointers :slight_smile: .