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 --]
next prev parent 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).