From c47c938537863fe8fbb0a83d04c43a3599502155 Mon Sep 17 00:00:00 2001 From: "Paulo F. Oliveira" Date: Fri, 2 Apr 2021 22:44:02 +0100 Subject: [PATCH] Keep symlinks in copies --- src/ec_file.erl | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ec_file.erl b/src/ec_file.erl index c623573..a139e6e 100644 --- a/src/ec_file.erl +++ b/src/ec_file.erl @@ -80,7 +80,14 @@ copy(From, To) -> copy_(From, To, [{file_info, [mode, time, owner, group]}]). copy_(From, To, Options) -> - case file:copy(From, To) of + Linked + = case file:read_link(From) of + {ok, Linked0} -> Linked0; + {error, _} -> undefined + end, + case Linked =/= undefined orelse file:copy(From, To) of + true -> + file:make_symlink(Linked, To); {ok, _} -> copy_file_info(To, From, proplists:get_value(file_info, Options, [])); {error, Error} ->