git: 'latest-repository-commit' logs its progress.

* guix/git.scm (latest-repository-commit): Add #:log-port and honor it.
This commit is contained in:
Ludovic Courtès 2018-11-27 14:48:32 +01:00 committed by Ludovic Courtès
parent 2f24b9ca8b
commit 35cb37ea9c
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -154,6 +154,7 @@ (define canonical-ref
(define* (latest-repository-commit store url
#:key
(log-port (%make-void-port "w"))
(cache-directory
(%repository-cache-directory))
(ref '(branch . "master")))
@ -164,11 +165,14 @@ (define* (latest-repository-commit store url
data, respectively [<branch name> | <sha1> | <tag name>].
Git repositories are kept in the cache directory specified by
%repository-cache-directory parameter."
%repository-cache-directory parameter.
Log progress and checkout info to LOG-PORT."
(define (dot-git? file stat)
(and (string=? (basename file) ".git")
(eq? 'directory (stat:type stat))))
(format log-port "updating checkout of '~a'...~%" url)
(let*-values
(((checkout commit)
(update-cached-checkout url
@ -177,6 +181,7 @@ (define (dot-git? file stat)
(url-cache-directory url cache-directory)))
((name)
(url+commit->name url commit)))
(format log-port "retrieved commit ~a~%" commit)
(values (add-to-store store name #t "sha256" checkout
#:select? (negate dot-git?))
commit)))