From e1bfdf67f3944e4f23202943cc5f535b4b66ee57 Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Wed, 26 Feb 2014 13:44:01 -0800 Subject: Avoid the use of an extra leading dot when using --temp-dir. --- NEWS | 3 +++ receiver.c | 9 ++++++--- rsync.yo | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index bef1944a..9407d3ca 100644 --- a/NEWS +++ b/NEWS @@ -57,6 +57,9 @@ Changes since 3.1.0: ENHANCEMENTS: + - Tweaked the temp-file naming when --temp-dir=DIR is used: the temp-file + names with not get an extra leading '.' prepended. + - Added the support/rsync-no-vanished wrapper script. - Made configure more prominently mention when we failed to find yodl (in diff --git a/receiver.c b/receiver.c index 413c31cd..39f66274 100644 --- a/receiver.c +++ b/receiver.c @@ -113,9 +113,12 @@ int get_tmpname(char *fnametmp, const char *fname, BOOL make_unique) } } else f = fname; - if (*f == '.') /* avoid an extra leading dot for OS X's sake */ - f++; - fnametmp[length++] = '.'; + + if (!tmpdir) { /* using a tmpdir avoids the leading dot on our temp names */ + if (*f == '.') /* avoid an extra leading dot for OS X's sake */ + f++; + fnametmp[length++] = '.'; + } /* The maxname value is bufsize, and includes space for the '\0'. * NAME_MAX needs an extra -1 for the name's leading dot. */ diff --git a/rsync.yo b/rsync.yo index 6295110b..6b558187 100644 --- a/rsync.yo +++ b/rsync.yo @@ -1726,6 +1726,9 @@ dit(bf(-T, --temp-dir=DIR)) This option instructs rsync to use DIR as a scratch directory when creating temporary copies of the files transferred on the receiving side. The default behavior is to create each temporary file in the same directory as the associated destination file. +Beginning with rsync 3.1.1, the temp-file names inside the specified DIR will +not be prefixed with an extra dot (though they will still have a random suffix +added). This option is most often used when the receiving disk partition does not have enough free space to hold a copy of the largest file in the transfer. -- cgit v1.2.1