diff options
author | Ludovic Courtès <ludovic.courtes@inria.fr> | 2019-02-08 09:16:27 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-02-08 10:41:13 +0100 |
commit | 06fff484cec2abc1702e2131d963ed086c5e0b29 (patch) | |
tree | fb9868538b879e8452570623667d1a455fe4e39f /guix | |
parent | 60cbc6a8df348b7742fc47912a0827a697804d23 (diff) |
git: Add a 'recursive?' field to <git-checkout> records.
* guix/git.scm (<git-checkout>)[recursive?]: New field.
(latest-repository-commit*): Add #:recursive? and honor it.
(git-checkout-compiler): Honor the 'recursive?' field of CHECKOUT.
Diffstat (limited to 'guix')
-rw-r--r-- | guix/git.scm | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/guix/git.scm b/guix/git.scm index e2daa78f6b..51b8aa9ae5 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -273,9 +273,10 @@ Log progress and checkout info to LOG-PORT." git-checkout? (url git-checkout-url) (branch git-checkout-branch (default "master")) - (commit git-checkout-commit (default #f))) + (commit git-checkout-commit (default #f)) + (recursive? git-checkout-recursive? (default #f))) -(define* (latest-repository-commit* url #:key ref log-port) +(define* (latest-repository-commit* url #:key ref recursive? log-port) ;; Monadic variant of 'latest-repository-commit'. (lambda (store) ;; The caller--e.g., (guix scripts build)--may not handle 'git-error' so @@ -284,7 +285,9 @@ Log progress and checkout info to LOG-PORT." (catch 'git-error (lambda () (values (latest-repository-commit store url - #:ref ref #:log-port log-port) + #:ref ref + #:recursive? recursive? + #:log-port log-port) store)) (lambda (key error . _) (raise (condition @@ -306,11 +309,12 @@ Log progress and checkout info to LOG-PORT." ;; "Compile" CHECKOUT by updating the local checkout and adding it to the ;; store. (match checkout - (($ <git-checkout> url branch commit) + (($ <git-checkout> url branch commit recursive?) (latest-repository-commit* url #:ref (if commit `(commit . ,commit) `(branch . ,branch)) + #:recursive? recursive? #:log-port (current-error-port))))) ;; Local Variables: |