Support 'git@github.com:{user}/{repo}.git' format for '.gitmodules'
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 13.8k
- Forks
- 1.4k
- Avg merge
- 17h 58m
- Merged PRs (30d)
- 5
Description
Is your feature request related to a problem? Please describe
There are conflicts when both HTTP and SSH URL format is used in .gitmodules^1
If you open this repo on gitpod, you will notice that for some reason the HTTP one got its files wiped out, this doesn't happen when all of the submodules have HTTP based URLs and everything is just fine.
Upon manual submodule sync attempt, you will see this error as expected:

Describe the behaviour you'd like
Describe alternatives you've considered
Maybe we could show an error on detecting SSH format on .gitmodules and suggest to auto-rewrite for the user?
Additional context
https://github.com/gitpod-io/gitpod/issues/7950 is a similar issue but it does not address this, so created this issue 😄
Also, see relevant discussion on discord^2
cc @schickling
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the mixed HTTP and SSH submodule URL case described in the issue, using the linked .gitmodules example and a Gitpod workspace. Trace the manual submodule sync path and determine where the git@github.com:{user}/{repo}.git format is rejected. Done means mixed URL formats no longer cause the HTTP submodule files to be wiped and sync completes successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- developer-experience
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100