unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Leo Famulari <leo@famulari.name>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 33100-done@debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer@gmail.com>
Subject: bug#33100: [libssh] fatal: dumb http transport does not support shallow capabilities
Date: Mon, 22 Oct 2018 13:07:34 -0400	[thread overview]
Message-ID: <20181022170734.GB6300@jasmine.lan> (raw)
In-Reply-To: <875zxupapd.fsf@gnu.org>


[-- Attachment #1.1: Type: text/plain, Size: 1198 bytes --]

On Mon, Oct 22, 2018 at 11:55:26AM +0200, Ludovic Courtès wrote:
> Maxim Cournoyer <maxim.cournoyer@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.

[-- Attachment #1.2: 0001-gnu-libssh-Fetch-the-source-code-more-efficiently.patch --]
[-- Type: text/plain, Size: 1524 bytes --]

From 683713dd8f5d67e3f077d5d13c23e5556d8ad779 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Mon, 22 Oct 2018 13:00:55 -0400
Subject: [PATCH] gnu: libssh: Fetch the source code more efficiently.

* gnu/packages/ssh.scm (libssh)[source]: Use the git:// protocol.
---
 gnu/packages/ssh.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index e806fc80f..b93cb03a1 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -71,8 +71,14 @@
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://git.libssh.org/projects/libssh.git")
-                    (commit (string-append "libssh-" version))))
+                     ;; git.libssh.org does not support the fast "smart" HTTP
+                     ;; Git protocol. The "dumb" HTTP Git protocol is extremely
+                     ;; slow, and does not support shallow clones, so we use the
+                     ;; plain Git protocol despite its flaws. This offers an
+                     ;; incredible speedup and reduces the size of the the
+                     ;; source by more than half.
+                     (url "git://git.libssh.org/projects/libssh.git")
+                     (commit (string-append "libssh-" version))))
               (patches (search-patches "libssh-hostname-parser-bug.patch"))
               (sha256
                (base32
-- 
2.19.1


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2018-10-22 17:08 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-20  2:22 bug#33100: [libssh] fatal: dumb http transport does not support shallow capabilities Maxim Cournoyer
2018-10-20 14:05 ` Ludovic Courtès
2018-10-21  3:24   ` Maxim Cournoyer
2018-10-21 19:10     ` Leo Famulari
2018-10-21 21:42       ` Maxim Cournoyer
2018-10-22  9:55     ` Ludovic Courtès
2018-10-22 17:07       ` Leo Famulari [this message]
2018-10-24 13:01       ` Maxim Cournoyer
2018-10-24 14:11         ` Ludovic Courtès
2018-10-24 14:15         ` Leo Famulari
2018-10-24 21:33           ` Ludovic Courtès
2018-10-25  1:02             ` Leo Famulari
2018-10-25  1:44             ` Maxim Cournoyer
2018-10-25 12:24               ` Ludovic Courtès
2018-10-27  2:05                 ` Maxim Cournoyer
2018-10-27 14:45                   ` Ludovic Courtès
2018-10-29  2:45                     ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181022170734.GB6300@jasmine.lan \
    --to=leo@famulari.name \
    --cc=33100-done@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).