threads / discuss / 60400

pygit2 claims repository does not exist on GIT_DIR_INVALID_OWNERSHIP

Subject: pygit2 claims repository does not exist on GIT_DIR_INVALID_OWNERSHIP

## tl;dr

3 messages between Oct 19, 2023 and Oct 19, 2023.

replies: 2people: 2as markdown or json

Michal Suchánek· Oct 19, 2023, 09:33 UTC · lore
Hello,

after upgrade from git 2.26 to git 2.35 pygit would claim that my repository does not exist:

:~> git ls-remote /srv/git/kernel-source.git | head -n3 41037b9c54949ab7df9d32e8bc753c059b27c66c HEAD 7a68c4c0c640ac07b89722271f866287b9047459 refs/heads/ALP-current 4993d1b0a96a0fa7fb0e87d3b1725bc775162283 refs/heads/ALP-current-RT :~> python3 Python 3.6.15 (default, Sep 23 2021, 15:41:43) [GCC] on linux Type "help", "copyright", "credits" or "license" for more information.

>>> import pygit2
>>> pygit2.Repository("/srv/git/kernel-source.git")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.6/site-packages/pygit2/repository.py", line 1498, in __init__
    path_backend = init_file_backend(path, flags)
_pygit2.GitError: Repository not found at /srv/git/kernel-source.git
>>> 
Could a reasonable diagnostic be provided?
Thanks
Michal
Konstantin Khomoutov· Oct 19, 2023, 10:10 UTC · re: Michal Suchánek · lore

Re: pygit2 claims repository does not exist on GIT_DIR_INVALID_OWNERSHIP

On Thu, Oct 19, 2023 at 11:33:44AM +0200, Michal Suchánek wrote:
Show 20 quoted lines
> after upgrade from git 2.26 to git 2.35 pygit would claim that my
> repository does not exist:
> 
> :~> git ls-remote /srv/git/kernel-source.git | head -n3
> 41037b9c54949ab7df9d32e8bc753c059b27c66c        HEAD
> 7a68c4c0c640ac07b89722271f866287b9047459        refs/heads/ALP-current
> 4993d1b0a96a0fa7fb0e87d3b1725bc775162283        refs/heads/ALP-current-RT
> :~> python3
> Python 3.6.15 (default, Sep 23 2021, 15:41:43) [GCC] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import pygit2
> >>> pygit2.Repository("/srv/git/kernel-source.git")
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib64/python3.6/site-packages/pygit2/repository.py", line 1498, in __init__
>     path_backend = init_file_backend(path, flags)
> _pygit2.GitError: Repository not found at /srv/git/kernel-source.git
> >>> 
> 
> Could a reasonable diagnostic be provided?
It's a bit hard to ask what exactly you are after.

If you meant more diagnistics from Git, then I think they are in place, but pygit2 does not display them (that is, it reads and possibly parses them itself).

You can possibly run your Python code while having at least GIT_TRACE=1 in the environment (see the output of `git help git` for the various environment variables having the word "TRACE" in their names for ways to get more copious outputs) and see whether you'll be able to get that trace printed - Git prints which command it calls and with which arguments; you will then be able to call them by hand and see exactly how they fail.

If you ask about better diagnistics in pygit2, then this question is misdirected, I'm afraid, as pygit2 is not being developed using this mailing list - ask in Discussions or issues tracker at [1] instead.

 1. https://github.com/libgit2/pygit2
Michal Suchánek· Oct 19, 2023, 12:07 UTC · re: Michal Suchánek · lore

Re: pygit2 claims repository does not exist on GIT_DIR_INVALID_OWNERSHIP

On Thu, Oct 19, 2023 at 11:33:44AM +0200, Michal Suchánek wrote:
Show 22 quoted lines
> Hello,
> 
> after upgrade from git 2.26 to git 2.35 pygit would claim that my
> repository does not exist:
> 
> :~> git ls-remote /srv/git/kernel-source.git | head -n3
> 41037b9c54949ab7df9d32e8bc753c059b27c66c        HEAD
> 7a68c4c0c640ac07b89722271f866287b9047459        refs/heads/ALP-current
> 4993d1b0a96a0fa7fb0e87d3b1725bc775162283        refs/heads/ALP-current-RT
> :~> python3
> Python 3.6.15 (default, Sep 23 2021, 15:41:43) [GCC] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import pygit2
> >>> pygit2.Repository("/srv/git/kernel-source.git")
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib64/python3.6/site-packages/pygit2/repository.py", line 1498, in __init__
>     path_backend = init_file_backend(path, flags)
> _pygit2.GitError: Repository not found at /srv/git/kernel-source.git
> >>> 
> 
> Could a reasonable diagnostic be provided?

It turns out that I have relatively recent python3-pygit2 but it's linked against ancient libgit2 causing this error.

Rebuilding python3-pygit2 fixes the problem.
Sorry about the noise.
Thanks
Michal

← back to recent threads