GNU bug report logs - #44593
(guix git) doesn’t honor HTTP/HTTPS proxy settings for submodules

Previous Next

Package: guix;

Reported by: Ludovic Courtès <ludovic.courtes <at> inria.fr>

Date: Thu, 12 Nov 2020 14:02:01 UTC

Severity: important

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludo <at> gnu.org>
To: 44593 <at> debbugs.gnu.org
Subject: bug#44593: (guix git) doesn’t honor HTTP/HTTPS proxy settings for submodules
Date: Fri, 02 Apr 2021 11:56:20 +0200
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludovic.courtes <at> inria.fr> skribis:

> Ludovic Courtès <ludovic.courtes <at> inria.fr> skribis:
>
>> (guix git) does not honor proxy settings when fetching submodules.
>>
>> In fact, Guile-Git 0.4.0 doesn’t allow us to pass fetch options to
>> ‘submodule-update’, which is what needs to be fixed first.
>
> Implemented here:
>
>   https://gitlab.com/guile-git/guile-git/-/commit/6c512f7a4d14814a306b9c97b53373527d9a6c50
>
> Unfortunately I couldn’t come up with a good test to ensure the fetch
> options are honored by ‘submodule-update’, as noted there.

And here’s the (guix git) patch, to commit when the new Guile-Git
release is out.

Ludo’.

[Message part 2 (text/x-patch, inline)]
diff --git a/guix/git.scm b/guix/git.scm
index 1820036f25..ed00a50df9 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -279,13 +279,15 @@ dynamic extent of EXP."
       (report-git-error err))))
 
 (define* (update-submodules repository
-                            #:key (log-port (current-error-port)))
+                            #:key (log-port (current-error-port))
+                            (fetch-options #f))
   "Update the submodules of REPOSITORY, a Git repository object."
   (for-each (lambda (name)
               (let ((submodule (submodule-lookup repository name)))
                 (format log-port (G_ "updating submodule '~a'...~%")
                         name)
-                (submodule-update submodule)
+                (submodule-update submodule
+                                  #:fetch-options fetch-options)
 
                 ;; Recurse in SUBMODULE.
                 (let ((directory (string-append
@@ -293,6 +295,7 @@ dynamic extent of EXP."
                                   "/" (submodule-path submodule))))
                   (with-repository directory repository
                     (update-submodules repository
+                                       #:fetch-options fetch-options
                                        #:log-port log-port)))))
             (repository-submodules repository)))
 
@@ -391,7 +394,8 @@ it unchanged."
        (remote-fetch (remote-lookup repository "origin")
                      #:fetch-options (make-default-fetch-options)))
      (when recursive?
-       (update-submodules repository #:log-port log-port))
+       (update-submodules repository #:log-port log-port
+                          #:fetch-options (make-default-fetch-options)))
 
      ;; Note: call 'commit-relation' from here because it's more efficient
      ;; than letting users re-open the checkout later on.

This bug report was last modified 4 years and 116 days ago.

Previous Next


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