From cafb92d853c66b677111594727c586b87bbdd58f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 7 Mar 2014 00:18:28 +0100 Subject: store: 'export-paths' doesn't export references of the given files. This fixes a regression introduced in 99fbddf9a623757e39d88bfb431f8f7d6f24b75b ("store: Change 'export-paths' to always export in topological order.") * guix/store.scm (export-paths): Define 'ordered' variable. Iterate over it. * tests/store.scm ("export/import paths, ensure topological order"): Add 'file0'. Adjust accordingly. --- guix/store.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'guix/store.scm') diff --git a/guix/store.scm b/guix/store.scm index 54ed31cbbc..e92e159ff4 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -734,8 +734,13 @@ (define* (export-path server path port #:key (sign? #t)) (define* (export-paths server paths port #:key (sign? #t)) "Export the store paths listed in PATHS to PORT, in topological order, signing them if SIGN? is true." + (define ordered + ;; Sort PATHS, but don't include their references. + (filter (cut member <> paths) + (topologically-sorted server paths))) + (let ((s (nix-server-socket server))) - (let loop ((paths (topologically-sorted server paths))) + (let loop ((paths ordered)) (match paths (() (write-int 0 port)) -- cgit v1.2.3