On Mon, Oct 22, 2018 at 11:55:26AM +0200, Ludovic Courtès wrote: > Maxim Cournoyer <[email protected]> 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.
From 683713dd8f5d67e3f077d5d13c23e5556d8ad779 Mon Sep 17 00:00:00 2001 From: Leo Famulari <[email protected]> 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
signature.asc
Description: PGP signature
