From afe7943d049656321e8732fb2f6ed1ec1d905489 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 10 Oct 2020 02:49:26 +0100 Subject: [PATCH] Optimise linkfarming This saves about 100ms in my project! Signed-off-by: Ian Jackson --- nailing-cargo | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nailing-cargo b/nailing-cargo index c1b21ec..068a3f9 100755 --- a/nailing-cargo +++ b/nailing-cargo @@ -649,9 +649,12 @@ END_FILES_GIT END_FILES_FULL } $pre .= <<'END_DEEP'; - xargs -0r sh -ec 'src="$1"; shift; for f in "$@"; do - ln -sf -- "$src/${f#./}" "$f"; - done' x "$src"; + perl -0 -ne ' + BEGIN { $src=shift @ARGV; } + next if (readlink "$_"//"") eq "$src/$_"; + unlink "$_"; + symlink "$src/$_", "$_" or die "$_ $!"; + ' "$src"; END_DEEP } $pre .= <<'ENDLK' if $do_cargo_lock; -- 2.30.2