-
Type:
Suggestion
-
Resolution: Unresolved
-
None
-
Component/s: Git
-
None
When adding a submodule to a Git repository (via SourceTree menu option 'Add submodule'), I am forced to use a full URL to the repository. Git supports the use of relative URLs however, so when my submodule is on the same host (e.g. Bitbucket), I can refer to it as a submodule, via a URL like '../otherproject.git'.
Using relative URLs, when using HTTPS, will not include the username in the URL, and make the submodule available to use for other users of the repository. (the context menu to change the source URL of a subrepository does however allow me to change it into a relative URL, so SourceTree blocks this only when adding a new submodule).
When pulling the repository (which has these relative submodules), via HTTPS, SourceTree does not recognize these URLs either, as it is prompting me to enter the password (for my Bitbucket account) for each of the submodules. SourceTree doesn't recognize the host names for the submodule repositories.
This is also causing the git-remote-https.exe process to hang for devs who are pulling from the repository, after a new submodule has been added. Killing this process, and re-pull, is now the only way to get it to work.
Obviously these issues mainly arrise when using Git via HTTPS. When using SSH the need for using relative URLs is lower (as there is no username in the URL), and the authentication does not rely on a cached password.