libgit2 / pygit2

Python bindings for libgit2
https://www.pygit2.org/
Other
1.58k stars 382 forks source link

_pygit2.GitError: no URL configured for submodule #1265

Closed Hain2000 closed 5 months ago

Hain2000 commented 5 months ago

Running

repository.update_submodules(init=True, callbacks=pygit2.RemoteCallbacks(credentials=keypair))

There's an error:

File "/root/.vscode-server/ch1.py", line 42, in checkout_from_local repository.update_submodules(init=True, callbacks=pygit2.RemoteCallbacks(credentials=keypair)) File "/usr/local/lib/python3.11/site-packages/pygit2/repository.py", line 254, in update_submodules submodule.update(init, callbacks) File "/usr/local/lib/python3.11/site-packages/pygit2/submodule.py", line 92, in update payload.check_error(err) File "/usr/local/lib/python3.11/site-packages/pygit2/callbacks.py", line 98, in check_error check_error(error_code) File "/usr/local/lib/python3.11/site-packages/pygit2/errors.py", line 65, in check_error raise GitError(message) _pygit2.GitError: no URL configured for submodule 'third-party/fassert' 2024-01-08 07:26:46,495 - [ERROR] - no URL configured for submodule 'third-party/fassert'

But the .gitmodules have the url. 20240108-153545

I also get an error when I output the url

instances = [repository.lookup_submodule(s) for s in repository.listall_submodules()]
for sub in instances:
    logger.critical(sub.url)

File "/root/.vscode-server/ch1.py", line 40, in checkout_from_local logger.critical(sub.url) ^^^^^^^ File "/usr/local/lib/python3.11/site-packages/pygit2/submodule.py", line 125, in url return ffi.string(url).decode('utf-8') ^^^^^^^^^^^^^^^ RuntimeError: cannot use string() on <cdata 'char ' NULL> 2024-01-08 07:38:46,291 - [ERROR] - cannot use string() on <cdata 'char ' NULL>