diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-01-12 22:32:52 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-12 23:41:15 +0100 |
commit | 0e3c8528af1b36687a8cfe56a09c452b6ff3508d (patch) | |
tree | 3489cd3ba6dceaf799eb622695af54016962daf7 | |
parent | d06d54e338064d84a59c5811587b930799aab208 (diff) | |
download | gnu-guix-0e3c8528af1b36687a8cfe56a09c452b6ff3508d.tar gnu-guix-0e3c8528af1b36687a8cfe56a09c452b6ff3508d.tar.gz |
ssh: 'retrieve-files' now only retrieves what's missing.
* guix/ssh.scm (retrieve-files): Remove the subset of FILES that is
valid in LOCAL.
(store-export-channel): Add comment.
-rw-r--r-- | guix/ssh.scm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/guix/ssh.scm b/guix/ssh.scm index 21c452f28c..ac8569298b 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -28,6 +28,7 @@ #:use-module (ssh session) #:use-module (ssh dist) #:use-module (ssh dist node) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) @@ -235,6 +236,10 @@ be read. When RECURSIVE? is true, the closure of FILES is exported." (write `(invalid-items ,invalid)) (exit 1)) + ;; TODO: When RECURSIVE? is true, we could send the list of store + ;; items in the closure so that the other end can filter out + ;; those it already has. + (write '(exporting)) ;we're ready (force-output) @@ -394,7 +399,8 @@ check.") #:key recursive? (log-port (current-error-port))) "Retrieve FILES from REMOTE and import them using the 'import-paths' RPC on LOCAL. When RECURSIVE? is true, retrieve the closure of FILES." - (retrieve-files* files remote + (retrieve-files* (remove (cut valid-path? local <>) files) + remote #:recursive? recursive? #:log-port log-port #:import (lambda (port) |