Currently, --copy-dest local copies use copy_file(), which writes the destination file at its final name. I think these copies should use a temporary file unless --inplace is given, just like ordinary file transfers. Users who have a program that watches the destination and processes non-temporary files when they appear will appreciate this.
Created attachment 2956 [details] Attempt to implement temporary file usage, etc. In this patch I did the following: - Factored out temporary file creation code from recv_files -> open_tmpfile - Took the opportunity to reduce code duplication in recv_files - Added an argument to copy_file to make it write to an existing fd instead of opening its own; updated existing calls - Wrote new logic for local copies in do_local_copy, using open_tmpfile and the new copy_file mode when !inplace - Took the opportunity to implement cleanup for partially written local-copy targets This patch is a first draft; it seems to work, but it could probably use further testing and cleanup.
Good idea. Thanks for the cleanup patch too. I've gone over it, made a few tweaks, and checked-in the result.