Avoid the use of an extra leading dot when using --temp-dir.
authorWayne Davison <wayned@samba.org>
Wed, 26 Feb 2014 21:44:01 +0000 (13:44 -0800)
committerWayne Davison <wayned@samba.org>
Wed, 26 Feb 2014 22:00:10 +0000 (14:00 -0800)
NEWS
receiver.c
rsync.yo

diff --git a/NEWS b/NEWS
index bef1944a67d54970d66fd630d077016d0aeab09d..9407d3cadcf60a8101c0f9ba3f1939d0678bb5bc 100644 (file)
--- 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
index 413c31cdd2df51ed89a294531d2f02e3db497035..39f662745a90e91a97c62ab6762419aed1509648 100644 (file)
@@ -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. */
index 6295110b4336e2550a19771102c6612d44470b4c..6b5581875b42bdffb84c8a196904c2307041ca61 100644 (file)
--- 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.