mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
git: Create/update remote references locally when needed.
This allows ‘update-cached-checkout’ to fetch symbolic references such as those created by the AGit workflow with Forgejo instances. * guix/git.scm (update-cached-checkout): Create/update remote references locally. Change-Id: Ice761d09eebc4f1275381a4eefbdd679d9b95127 Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
0a670987c7
commit
66463356ce
1 changed files with 8 additions and 4 deletions
12
guix/git.scm
12
guix/git.scm
|
@ -593,16 +593,20 @@ current settings unchanged."
|
||||||
;; left unchanged when cloning and pulling.
|
;; left unchanged when cloning and pulling.
|
||||||
(set-config-string config "core.autocrlf" "input")
|
(set-config-string config "core.autocrlf" "input")
|
||||||
|
|
||||||
;; Only fetch remote if it has not been cloned just before.
|
;; When using symrefs, fetch remote again even if it has been cloned just
|
||||||
|
;; before as the requested reference are not fetched when cloning.
|
||||||
(when (and cache-exists?
|
(when (and cache-exists?
|
||||||
|
(not (null? symref-list))
|
||||||
(not (reference-available? repository ref)))
|
(not (reference-available? repository ref)))
|
||||||
(remote-fetch (remote-lookup repository "origin")
|
(remote-fetch (remote-lookup repository "origin")
|
||||||
#:fetch-options (make-default-fetch-options
|
#:fetch-options (make-default-fetch-options
|
||||||
#:verify-certificate?
|
#:verify-certificate?
|
||||||
verify-certificate?)
|
verify-certificate?)
|
||||||
;; Symbolic references are not fetched from the remote by
|
;; Build refspecs from symbolic references so they are
|
||||||
;; default.
|
;; created locally and updated if necessary.
|
||||||
#:refspecs symref-list))
|
#:refspecs (map (lambda (ref)
|
||||||
|
(string-append "+" ref ":" ref))
|
||||||
|
symref-list)))
|
||||||
(when recursive?
|
(when recursive?
|
||||||
(update-submodules repository #:log-port log-port
|
(update-submodules repository #:log-port log-port
|
||||||
#:fetch-options
|
#:fetch-options
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue