From b1106d32d8dad02d9a42f6309dc743889f33379f Mon Sep 17 00:00:00 2001 From: Romain GARBAGE Date: Tue, 23 Jan 2024 09:42:41 +0100 Subject: doc: Document changes to `copy-recursively'. * doc/guix.texi: Document new key `select?' in `copy-recursively'. Change-Id: I4b14ae5a1b40e0939456604f75597b5596b76f83 Signed-off-by: Maxim Cournoyer --- doc/guix.texi | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index be05a24420..576ceeab9b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -10820,12 +10820,18 @@ Make @var{file} writable for its owner. @deffn {Procedure} copy-recursively source destination @ [#:log (current-output-port)] [#:follow-symlinks? #f] @ [#:copy-file copy-file] [#:keep-mtime? #f] [#:keep-permissions? #t] + [#:select? (const #t)] Copy @var{source} directory to @var{destination}. Follow symlinks if @var{follow-symlinks?} is true; otherwise, just preserve them. Call -@var{copy-file} to copy regular files. When @var{keep-mtime?} is true, -keep the modification time of the files in @var{source} on those of -@var{destination}. When @var{keep-permissions?} is true, preserve file -permissions. Write verbose output to the @var{log} port. +@var{copy-file} to copy regular files. Call @var{select?}, taking two +arguments, @var{file} and @var{stat}, for each entry in @var{source}, +where @var{file} is the entry's absolute file name and @var{stat} is the +result of @code{lstat} (or @code{stat} if @var{follow-symlinks?} is +true); exclude entries for which @var{select?} does not return true. +When @var{keep-mtime?} is true, keep the modification time of the files +in @var{source} on those of @var{destination}. +When @var{keep-permissions?} is true, preserve file permissions. Write +verbose output to the @var{log} port. @end deffn @deffn {Procedure} delete-file-recursively dir [#:follow-mounts? #f] -- cgit v1.2.3