bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#58555: [guile-git] Attempt to use git repositories that support olde


From: Maxime Devos
Subject: bug#58555: [guile-git] Attempt to use git repositories that support older "dumb" HTTP protocol gives uninformative error message
Date: Sun, 16 Oct 2022 10:56:38 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.1



On 15-10-2022 17:08, Wojtek Kosior via Bug reports for GNU Guix wrote:
Hello,

I was trying to set up a Guix channel and use it from guix.scm of my
project. I got an error when using `guix shell`

Updating channel 'guix' from Git repository at 
'https://git.savannah.gnu.org/git/guix.git'...
Updating channel 'hydrilla-guix' from Git repository at 
'https://git.koszko.org/hydrilla-guix-packaging'...
SWH: revision "7ffa00d8923f518d4d3898d2b9f6673afe204660" originating from 
https://git.koszko.org/hydrilla-guix-packaging could not be found
guix shell: warning: revision 7ffa00d8923f518d4d3898d2b9f6673afe204660 of 
https://git.koszko.org/hydrilla-guix-packaging could not be fetched from 
Software Heritage
guix shell: error: failed to load 'guix.scm':
guix/git.scm:401:19: Git error: invalid content-type: 'text/plain; 
charset=UTF-8'

I investigated this and found out it's guile-git that fails to HTTP
clone repositories that use the older "dumb" git protocol instead of
the newer "smart" one.
> [...]

This is a limitation of the libgit2 library that is used by guile-git:
<https://github.com/libgit2/libgit2/issues/4652#issuecomment-390903142>.
Currently there don't appear to be any plans upstream for supporting the 'dumb' protocol. If you would like support for the 'dumb' protocol, you'll need to contact libgit2, and probably write the patch yourself.

[...]
Nick's repo that I am using here only supports the dumb protocol. Hence
the following error

Backtrace:
In ice-9/boot-9.scm:
   1752:10  7 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
            6 (apply-smob/0 #<thunk 7fc3b96122e0>)
In ice-9/boot-9.scm:
     724:2  5 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
     619:8  4 (_ #(#(#<directory (guile-user) 7fc3b9617c80>)))
In ice-9/command-line.scm:
    185:19  3 (_ #<input: string 7fc3b9611850>)
In unknown file:
            2 (eval (clone "https://git.nicksphere.ch/calcurse"; "/…") #)
In git/clone.scm:
      46:8  1 (_ _ _ _)
In git/bindings.scm:
      77:2  0 (raise-git-error _)

git/bindings.scm:77:2: In procedure raise-git-error:
Throw to key `git-error' with args `(#<<git-error> code: -1 message: "invalid 
content-type: 'text/plain; charset=UTF-8'" class: 34>)'.

The expected behavior is that instead the user gets a meaningful
message, e.g. "Repository at <URL> could not be used because it doesn't
support the newer \"smart\" git HTTP protocol. Please ask the
repository owner to add support for that protocol".
>
I didn't see any mailing list for guile-git and I noticed most recent
commits in guile-git are from Guix maintainer anyway so I decided to
just submit to Guix bug mailing list. I hope I'm not doing something
horribly wrong here :)

It uses GitLab's issue tracker. I've added a link at <https://gitlab.com/guile-git/guile-git/-/issues/28>.

Greetings,
Maxime.

Attachment: OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]