GNU bug report logs - #33100
[libssh] fatal: dumb http transport does not support shallow capabilities

Previous Next

Package: guix;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Sat, 20 Oct 2018 02:23:02 UTC

Severity: normal

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 33100 in the body.
You can then email your comments to 33100 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Sat, 20 Oct 2018 02:23:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 20 Oct 2018 02:23:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: bug-guix <bug-guix <at> gnu.org>
Cc: Leo Famulari <leo <at> famulari.name>
Subject: [libssh] fatal: dumb http transport does not support shallow
 capabilities
Date: Fri, 19 Oct 2018 22:22:38 -0400
Hello,

Today I stumbled upon libssh that wouldn't build, due to the following
git error:

--8<---------------cut here---------------start------------->8---
fatal: dumb http transport does not support shallow capabilities"
--8<---------------cut here---------------end--------------->8---

There are now substitutes served from Berlin, so it's a bit more
difficult to reproduce, but the following worked for Ludovic and myself:

guix build --check /gnu/store/f0i7bdcg1lksr9dhz0cidi3ym8r8a5wl-libssh-0.7.6-checkout.drv

The output looks like:

--8<---------------cut here---------------start------------->8---
guix build --check /gnu/store/f0i7bdcg1lksr9dhz0cidi3ym8r8a5wl-libssh-0.7.6-checkout.drv
building /gnu/store/f0i7bdcg1lksr9dhz0cidi3ym8r8a5wl-libssh-0.7.6-checkout.drv...
Initialized empty Git repository in /gnu/store/gqyjgpvzqy55dzibm59530fsx21dpiz4-libssh-0.7.6-checkout/.git/
fatal: dumb http transport does not support shallow capabilities
--8<---------------cut here---------------end--------------->8---

Leo, would you have an idea?

Thanks,

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Sat, 20 Oct 2018 14:06:02 GMT) Full text and rfc822 format available.

Message #8 received at 33100 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 33100 <at> debbugs.gnu.org
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Sat, 20 Oct 2018 16:05:13 +0200
Hello!

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> guix build --check /gnu/store/f0i7bdcg1lksr9dhz0cidi3ym8r8a5wl-libssh-0.7.6-checkout.drv
> building /gnu/store/f0i7bdcg1lksr9dhz0cidi3ym8r8a5wl-libssh-0.7.6-checkout.drv...
> Initialized empty Git repository in /gnu/store/gqyjgpvzqy55dzibm59530fsx21dpiz4-libssh-0.7.6-checkout/.git/
> fatal: dumb http transport does not support shallow capabilities

On closer inspection, it seems that there’s nothing “fatal” here: if you
let it run for a while (1 or 2 minutes), it ends up silently cloning the
whole repo and the derivation build eventually succeeds.

Could you check if that’s the case for you?

berlin.guixsd.org has a substitute for this checkout, which suggests it
went fine there.

Thanks,
Ludo’.




Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Sun, 21 Oct 2018 03:25:02 GMT) Full text and rfc822 format available.

Notification sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
bug acknowledged by developer. (Sun, 21 Oct 2018 03:25:02 GMT) Full text and rfc822 format available.

Message #13 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33100-done <at> debbugs.gnu.org
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Sat, 20 Oct 2018 23:24:24 -0400
Hi,

ludo <at> gnu.org (Ludovic Courtès) writes:

> Hello!
>
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
>
>> guix build --check /gnu/store/f0i7bdcg1lksr9dhz0cidi3ym8r8a5wl-libssh-0.7.6-checkout.drv
>> building /gnu/store/f0i7bdcg1lksr9dhz0cidi3ym8r8a5wl-libssh-0.7.6-checkout.drv...
>> Initialized empty Git repository in /gnu/store/gqyjgpvzqy55dzibm59530fsx21dpiz4-libssh-0.7.6-checkout/.git/
>> fatal: dumb http transport does not support shallow capabilities
>
> On closer inspection, it seems that there’s nothing “fatal” here: if you
> let it run for a while (1 or 2 minutes), it ends up silently cloning the
> whole repo and the derivation build eventually succeeds.

It did end up working fine, although it took a large amout of time for
doing what seems to be a checkout (4 min 46 s). I did some experiments
and this is really the time it took to do a full clone of the libssh
project.

--8<---------------cut here---------------start------------->8---
time git clone git://git.libssh.org/projects/libssh.git libssh
Cloning into 'libssh'...
remote: Enumerating objects: 28264, done.
remote: Counting objects: 100% (28264/28264), done.
remote: Compressing objects: 100% (11718/11718), done.
remote: Total 28264 (delta 20985), reused 21830 (delta 16350)s    
Receiving objects: 100% (28264/28264), 5.21 MiB | 263.00 KiB/s, done.
Resolving deltas: 100% (20985/20985), done.

real    4m19.419s
user    0m3.272s
sys     0m0.540s
--8<---------------cut here---------------end--------------->8---

It's a bit of a shame, given that the shallow clone takes about 2
seconds (!):

--8<---------------cut here---------------start------------->8---
time git clone --depth 1 git://git.libssh.org/projects/libssh.git libssh
Cloning into 'libssh'...
remote: Enumerating objects: 367, done.
remote: Counting objects: 100% (367/367), done.
remote: Compressing objects: 100% (358/358), done.
remote: Total 367 (delta 39), reused 53 (delta 1)
Receiving objects: 100% (367/367), 704.23 KiB | 728.00 KiB/s, done.
Resolving deltas: 100% (39/39), done.

real    0m2.028s
user    0m0.160s
sys     0m0.071s
--8<---------------cut here---------------end--------------->8---

Based on the discussion here:
https://github.com/CocoaPods/CocoaPods/issues/6270, it would seem this
means that the libssh git server doesn't support the newer "smart HTTP
transport" and the git client bails out (IIUC). At least in our case the
guile-ssh library seems to already correctly fallback to doing a full
clone.

Perhaps just clearer messages would have helped here also ('Failed to do
a shallow git clone due to ~error message~, falling back to a full clone').

Such a change would need to be made in guile-git IIUC.

I'll close this bug now; thank you!

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Sun, 21 Oct 2018 19:11:02 GMT) Full text and rfc822 format available.

Message #16 received at 33100 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: 33100 <at> debbugs.gnu.org, maxim.cournoyer <at> gmail.com
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Sun, 21 Oct 2018 15:10:18 -0400
[Message part 1 (text/plain, inline)]
On Sat, Oct 20, 2018 at 11:24:24PM -0400, Maxim Cournoyer wrote:
> ludo <at> gnu.org (Ludovic Courtès) writes:
> > On closer inspection, it seems that there’s nothing “fatal” here: if you
> > let it run for a while (1 or 2 minutes), it ends up silently cloning the
> > whole repo and the derivation build eventually succeeds.
> 
> It did end up working fine, although it took a large amout of time for
> doing what seems to be a checkout (4 min 46 s). I did some experiments
> and this is really the time it took to do a full clone of the libssh
> project.

Great, you figured it out :)

More explanation:

Git has a few different server protocols: git, dumb HTTP, smart HTTP,
and SSH:

https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols

The dumb HTTP protocol is slow and does not show any progress status or
other informative message while it works, but if you monitor your
network traffic you can see it working.

For obvious reasons, it's rare to see the dumb HTTP protocol deployed
nowadays, but you may still find it on legacy installations.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Sun, 21 Oct 2018 21:43:02 GMT) Full text and rfc822 format available.

Message #19 received at 33100 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Leo Famulari <leo <at> famulari.name>
Cc: 33100 <at> debbugs.gnu.org
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Sun, 21 Oct 2018 17:42:10 -0400
Hello Leo,

Leo Famulari <leo <at> famulari.name> writes:

> On Sat, Oct 20, 2018 at 11:24:24PM -0400, Maxim Cournoyer wrote:
>> ludo <at> gnu.org (Ludovic Courtès) writes:
>> > On closer inspection, it seems that there’s nothing “fatal” here: if you
>> > let it run for a while (1 or 2 minutes), it ends up silently cloning the
>> > whole repo and the derivation build eventually succeeds.
>> 
>> It did end up working fine, although it took a large amout of time for
>> doing what seems to be a checkout (4 min 46 s). I did some experiments
>> and this is really the time it took to do a full clone of the libssh
>> project.
>
> Great, you figured it out :)
>
> More explanation:
>
> Git has a few different server protocols: git, dumb HTTP, smart HTTP,
> and SSH:
>
> https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols
>
> The dumb HTTP protocol is slow and does not show any progress status or
> other informative message while it works, but if you monitor your
> network traffic you can see it working.
>
> For obvious reasons, it's rare to see the dumb HTTP protocol deployed
> nowadays, but you may still find it on legacy installations.

Thanks for the extra bits of information :)

Cheers,

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Mon, 22 Oct 2018 09:56:02 GMT) Full text and rfc822 format available.

Message #22 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 33100-done <at> debbugs.gnu.org
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Mon, 22 Oct 2018 11:55:26 +0200
Hello,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
> It did end up working fine, although it took a large amout of time for
> doing what seems to be a checkout (4 min 46 s). I did some experiments
> and this is really the time it took to do a full clone of the libssh
> project.
>
> time git clone git://git.libssh.org/projects/libssh.git libssh
> Cloning into 'libssh'...
> remote: Enumerating objects: 28264, done.
> remote: Counting objects: 100% (28264/28264), done.
> remote: Compressing objects: 100% (11718/11718), done.
> remote: Total 28264 (delta 20985), reused 21830 (delta 16350)s    
> Receiving objects: 100% (28264/28264), 5.21 MiB | 263.00 KiB/s, done.
> Resolving deltas: 100% (20985/20985), done.
>
> real    4m19.419s
> user    0m3.272s
> sys     0m0.540s
>
>
> It's a bit of a shame, given that the shallow clone takes about 2
> seconds (!):
>
> time git clone --depth 1 git://git.libssh.org/projects/libssh.git libssh
> Cloning into 'libssh'...
> remote: Enumerating objects: 367, done.
> remote: Counting objects: 100% (367/367), done.
> remote: Compressing objects: 100% (358/358), done.
> remote: Total 367 (delta 39), reused 53 (delta 1)
> Receiving objects: 100% (367/367), 704.23 KiB | 728.00 KiB/s, done.
> Resolving deltas: 100% (39/39), done.
>
> real    0m2.028s
> user    0m0.160s
> sys     0m0.071s
>
> Based on the discussion here:
> https://github.com/CocoaPods/CocoaPods/issues/6270, it would seem this
> means that the libssh git server doesn't support the newer "smart HTTP
> transport" and the git client bails out (IIUC). At least in our case the
> guile-ssh library seems to already correctly fallback to doing a full
> clone.

Switching to the git:// transport would seem like a reasonable
workaround—we’d lose encryption and authentication, but the latter is
covered by the content hash in the ‘origin’ anyway.

WDYT, Leo?

> Perhaps just clearer messages would have helped here also ('Failed to do
> a shallow git clone due to ~error message~, falling back to a full clone').

I agree, and that’s something to suggest to the Git folks.  :-)

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Mon, 22 Oct 2018 17:08:01 GMT) Full text and rfc822 format available.

Message #25 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 33100-done <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Mon, 22 Oct 2018 13:07:34 -0400
[Message part 1 (text/plain, inline)]
On Mon, Oct 22, 2018 at 11:55:26AM +0200, Ludovic Courtès wrote:
> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:
> > It did end up working fine, although it took a large amout of time for
> > doing what seems to be a checkout (4 min 46 s). I did some experiments
> > and this is really the time it took to do a full clone of the libssh
> > project.

[...]

> > It's a bit of a shame, given that the shallow clone takes about 2
> > seconds (!):

Yeah, it's incredibly slow. The repo is not even 10 MB. At first, I too
thought the HTTPS clone had stalled.

Protocol	duration
------------------------
https:// 	217 sec
git://		10 sec
git:// shallow 	1.5 sec

And of course, the shallow clone is 3.6 MB instead of 10 MB.

> Switching to the git:// transport would seem like a reasonable
> workaround—we’d lose encryption and authentication, but the latter is
> covered by the content hash in the ‘origin’ anyway.
> 
> WDYT, Leo?

Overall, I think the slowness doesn't matter too much, since we offer
substitutes for the patched source code. However, here is a patch.
Please feel free to apply it!

I'll ask the libssh team to support "smart" HTTP Git.
[0001-gnu-libssh-Fetch-the-source-code-more-efficiently.patch (text/plain, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Wed, 24 Oct 2018 13:02:02 GMT) Full text and rfc822 format available.

Message #28 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33100-done <at> debbugs.gnu.org
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Wed, 24 Oct 2018 09:01:07 -0400
[Message part 1 (text/plain, inline)]
Hi Ludovic,

ludo <at> gnu.org (Ludovic Courtès) writes:

[...]

>> Perhaps just clearer messages would have helped here also ('Failed to do
>> a shallow git clone due to ~error message~, falling back to a full clone').
>
> I agree, and that’s something to suggest to the Git folks.  :-)

Upon further inspection, we can do better on our side, specifically by
printing a message of the fallback occurring when calling git-fetch. The
patch below implements this simple change.

What do you think?

[0001-build-git-fetch-Print-message-when-falling-back-to-a.patch (text/x-patch, attachment)]
[Message part 3 (text/plain, inline)]
Maxim

Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Wed, 24 Oct 2018 14:12:01 GMT) Full text and rfc822 format available.

Message #31 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 33100-done <at> debbugs.gnu.org
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Wed, 24 Oct 2018 16:11:07 +0200
Hi,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> Upon further inspection, we can do better on our side, specifically by
> printing a message of the fallback occurring when calling git-fetch. The
> patch below implements this simple change.
>
> What do you think?
>
> From 06ba66d1949ba59573518f471ad3cbacefea6ea2 Mon Sep 17 00:00:00 2001
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> Date: Wed, 24 Oct 2018 08:49:50 -0400
> Subject: [PATCH] build: git-fetch: Print message when falling back to a full
>  checkout.
>
> Otherwise the user might believe that git-fetch stalled, observing the lack of
> output following a 'fatal' git error message (see:
> https://debbugs.gnu.org/33100).
>
> * guix/build/git.scm (git-fetch): Print message when falling back to a full
> checkout.

Oh indeed, I had overlooked that.

Go for it!

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Wed, 24 Oct 2018 14:16:01 GMT) Full text and rfc822 format available.

Message #34 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 33100-done <at> debbugs.gnu.org,
 Ludovic Courtès <ludo <at> gnu.org>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Wed, 24 Oct 2018 10:15:23 -0400
[Message part 1 (text/plain, inline)]
On Wed, Oct 24, 2018 at 09:01:07AM -0400, Maxim Cournoyer wrote:
> From 06ba66d1949ba59573518f471ad3cbacefea6ea2 Mon Sep 17 00:00:00 2001
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> Date: Wed, 24 Oct 2018 08:49:50 -0400
> Subject: [PATCH] build: git-fetch: Print message when falling back to a full
>  checkout.
> 
> Otherwise the user might believe that git-fetch stalled, observing the lack of
> output following a 'fatal' git error message (see:
> https://debbugs.gnu.org/33100).
> 
> * guix/build/git.scm (git-fetch): Print message when falling back to a full
> checkout.

I like it, but it doesn't seem to actually print anything for me when I
trigger the failing case, for example by fetching the libssh source over
HTTP.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Wed, 24 Oct 2018 21:34:03 GMT) Full text and rfc822 format available.

Message #37 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Leo Famulari <leo <at> famulari.name>
Cc: 33100-done <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Wed, 24 Oct 2018 23:33:03 +0200
Leo Famulari <leo <at> famulari.name> skribis:

> On Wed, Oct 24, 2018 at 09:01:07AM -0400, Maxim Cournoyer wrote:
>> From 06ba66d1949ba59573518f471ad3cbacefea6ea2 Mon Sep 17 00:00:00 2001
>> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
>> Date: Wed, 24 Oct 2018 08:49:50 -0400
>> Subject: [PATCH] build: git-fetch: Print message when falling back to a full
>>  checkout.
>> 
>> Otherwise the user might believe that git-fetch stalled, observing the lack of
>> output following a 'fatal' git error message (see:
>> https://debbugs.gnu.org/33100).
>> 
>> * guix/build/git.scm (git-fetch): Print message when falling back to a full
>> checkout.
>
> I like it, but it doesn't seem to actually print anything for me when I
> trigger the failing case, for example by fetching the libssh source over
> HTTP.

If might be that current-output-port is fully buffered.  What if you
add:

  (setvbuf (current-output-port) 'line)

before the ‘format’ call?

Thanks,
Ludo’, who is found guilty of not actually running the code.




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Thu, 25 Oct 2018 01:03:02 GMT) Full text and rfc822 format available.

Message #40 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 33100-done <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Wed, 24 Oct 2018 21:02:41 -0400
On Wed, Oct 24, 2018 at 11:33:03PM +0200, Ludovic Courtès wrote:
> If might be that current-output-port is fully buffered.  What if you
> add:
> 
>   (setvbuf (current-output-port) 'line)
> 
> before the ‘format’ call?

Yeah, this lets' the message through.




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Thu, 25 Oct 2018 01:45:01 GMT) Full text and rfc822 format available.

Message #43 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33100-done <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Wed, 24 Oct 2018 21:44:40 -0400
ludo <at> gnu.org (Ludovic Courtès) writes:

> Leo Famulari <leo <at> famulari.name> skribis:
>
>> On Wed, Oct 24, 2018 at 09:01:07AM -0400, Maxim Cournoyer wrote:
>>> From 06ba66d1949ba59573518f471ad3cbacefea6ea2 Mon Sep 17 00:00:00 2001
>>> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
>>> Date: Wed, 24 Oct 2018 08:49:50 -0400
>>> Subject: [PATCH] build: git-fetch: Print message when falling back to a full
>>>  checkout.
>>> 
>>> Otherwise the user might believe that git-fetch stalled, observing the lack of
>>> output following a 'fatal' git error message (see:
>>> https://debbugs.gnu.org/33100).
>>> 
>>> * guix/build/git.scm (git-fetch): Print message when falling back to a full
>>> checkout.
>>
>> I like it, but it doesn't seem to actually print anything for me when I
>> trigger the failing case, for example by fetching the libssh source over
>> HTTP.
>
> If might be that current-output-port is fully buffered.  What if you
> add:
>
>   (setvbuf (current-output-port) 'line)
>
> before the ‘format’ call?
>
> Thanks,
> Ludo’, who is found guilty of not actually running the code.

What is preferable, between your solution or using (force-output)?

I'll send a revised patch accordingly.

Thank you,

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Thu, 25 Oct 2018 12:26:01 GMT) Full text and rfc822 format available.

Message #46 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 33100-done <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Thu, 25 Oct 2018 14:24:43 +0200
Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> Leo Famulari <leo <at> famulari.name> skribis:
>>
>>> On Wed, Oct 24, 2018 at 09:01:07AM -0400, Maxim Cournoyer wrote:
>>>> From 06ba66d1949ba59573518f471ad3cbacefea6ea2 Mon Sep 17 00:00:00 2001
>>>> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
>>>> Date: Wed, 24 Oct 2018 08:49:50 -0400
>>>> Subject: [PATCH] build: git-fetch: Print message when falling back to a full
>>>>  checkout.
>>>> 
>>>> Otherwise the user might believe that git-fetch stalled, observing the lack of
>>>> output following a 'fatal' git error message (see:
>>>> https://debbugs.gnu.org/33100).
>>>> 
>>>> * guix/build/git.scm (git-fetch): Print message when falling back to a full
>>>> checkout.
>>>
>>> I like it, but it doesn't seem to actually print anything for me when I
>>> trigger the failing case, for example by fetching the libssh source over
>>> HTTP.
>>
>> If might be that current-output-port is fully buffered.  What if you
>> add:
>>
>>   (setvbuf (current-output-port) 'line)
>>
>> before the ‘format’ call?
>>
>> Thanks,
>> Ludo’, who is found guilty of not actually running the code.
>
> What is preferable, between your solution or using (force-output)?

I’d go for line buffering since you only need to do it once for all.

Thanks!
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Sat, 27 Oct 2018 02:07:01 GMT) Full text and rfc822 format available.

Message #49 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33100-done <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Fri, 26 Oct 2018 22:05:52 -0400
[Message part 1 (text/plain, inline)]
Hello!

ludo <at> gnu.org (Ludovic Courtès) writes:

>>>> I like it, but it doesn't seem to actually print anything for me when I
>>>> trigger the failing case, for example by fetching the libssh source over
>>>> HTTP.
>>>
>>> If might be that current-output-port is fully buffered.  What if you
>>> add:
>>>
>>>   (setvbuf (current-output-port) 'line)
>>>
>>> before the ‘format’ call?
>>>
>>> Thanks,
>>> Ludo’, who is found guilty of not actually running the code.
>>
>> What is preferable, between your solution or using (force-output)?
>
> I’d go for line buffering since you only need to do it once for all.

I finally got around to reproducing the problem and testing the fix; it
was costly to build using --no-substitutes.

Is it OK to push this patch into master?

Thanks,

Maxim
[0001-git-download-Print-a-message-when-falling-back-to-a-.patch (text/x-patch, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Sat, 27 Oct 2018 14:46:02 GMT) Full text and rfc822 format available.

Message #52 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 33100-done <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Sat, 27 Oct 2018 16:45:48 +0200
Hi Maxim,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
>>>>> I like it, but it doesn't seem to actually print anything for me when I
>>>>> trigger the failing case, for example by fetching the libssh source over
>>>>> HTTP.
>>>>
>>>> If might be that current-output-port is fully buffered.  What if you
>>>> add:
>>>>
>>>>   (setvbuf (current-output-port) 'line)
>>>>
>>>> before the ‘format’ call?
>>>>
>>>> Thanks,
>>>> Ludo’, who is found guilty of not actually running the code.
>>>
>>> What is preferable, between your solution or using (force-output)?
>>
>> I’d go for line buffering since you only need to do it once for all.
>
> I finally got around to reproducing the problem and testing the fix; it
> was costly to build using --no-substitutes.
>
> Is it OK to push this patch into master?

Definitely, thank you!

Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#33100; Package guix. (Mon, 29 Oct 2018 02:47:02 GMT) Full text and rfc822 format available.

Message #55 received at 33100-done <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33100-done <at> debbugs.gnu.org, Leo Famulari <leo <at> famulari.name>
Subject: Re: bug#33100: [libssh] fatal: dumb http transport does not support
 shallow capabilities
Date: Sun, 28 Oct 2018 22:45:54 -0400
Hello,

ludo <at> gnu.org (Ludovic Courtès) writes:

[...]

>> Is it OK to push this patch into master?
>
> Definitely, thank you!
>
> Ludo’.

Pushed as commit 2f18b7329! Thank you,

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 26 Nov 2018 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 364 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.