Hi, All, Can anyone help me to review this patch?
Best Regards, Huang, Ying huang_ying_cari...@163.com writes: > From: Huang Ying <huang.ying.cari...@gmail.com> > > * guix/build/union.scm (union-build): Add create-all-directory? keyword > parameter. To add/remove some files from the directory. > --- > guix/build/union.scm | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/guix/build/union.scm b/guix/build/union.scm > index 6640b5652..4783066be 100644 > --- a/guix/build/union.scm > +++ b/guix/build/union.scm > @@ -73,7 +73,8 @@ identical, #f otherwise." > (loop))))))))))))) > > (define* (union-build output inputs > - #:key (log-port (current-error-port))) > + #:key (log-port (current-error-port)) > + (create-all-directory? #f)) > "Build in the OUTPUT directory a symlink tree that is the union of all > the INPUTS." > > @@ -104,8 +105,10 @@ the INPUTS." > (define (union output inputs) > (match inputs > ((input) > - ;; There's only one input, so just make a link. > - (symlink* input output)) > + ;; There's only one input, so just make a link unless > create-all-directory? > + (if (and create-all-directory? (file-is-directory? input)) > + (union-of-directories output inputs) > + (symlink* input output))) > (_ > (call-with-values (lambda () (partition file-is-directory? inputs)) > (match-lambda*