diff --git a/scripts/copy-repo.fish b/scripts/copy-repo.fish
index 77c521ae..1d0e788e 100755
--- a/scripts/copy-repo.fish
+++ b/scripts/copy-repo.fish
@@ -6,7 +6,5 @@ begin
     git -C "$dir" diff HEAD | git -C "$target" apply --allow-empty &> /dev/null
 
     and git -C "$dir" ls-files --exclude-standard --others | \
-        while read file
-            and cp "$dir/$file" "$target/$file"
-        end
+        rsync --files-from=/dev/stdin "$dir" "$target"
 end