- Sponsor
-
Notifications
You must be signed in to change notification settings - Fork 934
submodule update doesn't work with relative submodule paths (in GitPython 2.1.14) #944
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks for posting. Which version of GitPython are you using? Even though the submodule implementation may not be up to date with what |
Thanks for the feedback, I am using version |
Thanks for your reply! I am closing this issue as it is already resolved. Interestingly, in the last released version of GitPython with Python 2 compatibility, the submodule improvements should already be present. If you can spot the difference, I would be happy to receive a PR against 2.1.14 that fixes the issue there as well and release 2.1.15. |
Sorry, I made a mistake in my setup while I was testing it with python3 and git python version |
This bug is still present in |
I am afraid there is no priority beyond what people decide to contribute. GitPython is in maintenance mode. |
When looking trough other issues, I think this issue is the same as issue 730. Is there any reason why gitpython doesn't use the "native" |
If memory serves, back in the days I wanted to have 'smart' submodules, that are easier to handle and to update. For that, a lot of additional logic was added to what constitutes a very own implementation, compatible to git-submodules. In retrospect that turned out to be coming with maintenance costs that are now unaffordable. Luckily, users can always workaround themselves by using |
I have same trouble. |
Due to its nature, it is probably read-only. More details could be provided if there is more information on what's you are trying to do and how it's done. |
My Workaround I was able to update my relative submodules with:
Docs: https://gitpython.readthedocs.io/en/stable/reference.html#git.cmd.Git.execute GitPython 3.1.26, Python 3.8.10 |
Thanks for sharing. This can probably be rewritten to |
I wasn't able to make it work neither with #944 (comment) solution worked for me. Git: 2.25.1 |
Thanks for letting us know. I think the takeaway here is that one should avoid |
When using the git.objects.submodules.base.Submodule.update method (https://gitpython.readthedocs.io/en/stable/reference.html#git.objects.submodule.base.Submodule.update), the git python module seems to fake a
git submodule
call withgit clone
. It executesgit clone -n --separate-git-dir=<workspace>/.git/modules/<submodule_path> -v <submodule_url> <workspace>/<submodule_path>
. This command doesn't work when a submodule is specified as a relative path in the.gitmodules
path. For example:The
git.objects.submodules.base.Submodule.update
then fails with `repository '../../other_project/some_module.git' does not exist.The regular
git submodule
command is able to resolve the paths.The text was updated successfully, but these errors were encountered: