mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
git: Add support for symbolic references.
The #:refspecs argument was added in Guile-Git 0.10.0. * guix/git.scm (update-cached-checkout): Define ‘symref-list’. Pass it as #:refspecs to ‘remote-fetch’. Change-Id: Ib7874e2a30f97e51fdfdc2231a3bc5a3b45a177d Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
f3021149a8
commit
7e90241586
1 changed files with 10 additions and 2 deletions
12
guix/git.scm
12
guix/git.scm
|
@ -556,7 +556,7 @@ values: the cache directory name, and the SHA1 commit (a string) corresponding
|
|||
to REF, and the relation of STARTING-COMMIT relative to the new commit (if
|
||||
provided) as returned by 'commit-relation'.
|
||||
|
||||
REF is pair whose key is [branch | commit | tag | tag-or-commit ] and value
|
||||
REF is pair whose key is [branch | commit | symref | tag | tag-or-commit ] and value
|
||||
the associated data: [<branch name> | <sha1> | <tag name> | <string>].
|
||||
If REF is the empty list, the remote HEAD is used.
|
||||
|
||||
|
@ -592,6 +592,11 @@ current settings unchanged."
|
|||
(string-append "origin/" branch))))
|
||||
(_ ref)))
|
||||
|
||||
(define symref-list
|
||||
(match ref
|
||||
(('symref . symref) (list symref))
|
||||
(_ '())))
|
||||
|
||||
(with-libgit2
|
||||
(set-git-timeouts connection-timeout read-timeout)
|
||||
(let* ((cache-exists? (openable-repository? cache-directory))
|
||||
|
@ -606,7 +611,10 @@ current settings unchanged."
|
|||
(remote-fetch (remote-lookup repository "origin")
|
||||
#:fetch-options (make-default-fetch-options
|
||||
#:verify-certificate?
|
||||
verify-certificate?)))
|
||||
verify-certificate?)
|
||||
;; Symbolic references are not fetched from the remote by
|
||||
;; default.
|
||||
#:refspecs symref-list))
|
||||
(when recursive?
|
||||
(update-submodules repository #:log-port log-port
|
||||
#:fetch-options
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue