[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Sun May 25 17:43:38 MDT 2014

The branch, master has been updated
       via  3ce7a65 Make --omit-dir-times avoid early-create directories.
      from  de8ec0b Exit with a partial-transfer error for a sender-remove failure.


- Log -----------------------------------------------------------------
commit 3ce7a65c1107c84030e041655b13501ef0fe5222
Author: Wayne Davison <wayned at samba.org>
Date:   Sun May 25 16:36:02 2014 -0700

    Make --omit-dir-times avoid early-create directories.


Summary of changes:
 generator.c |    2 ++
 rsync.yo    |   11 +++++++++++
 2 files changed, 13 insertions(+), 0 deletions(-)

Changeset truncated at 500 lines:

diff --git a/generator.c b/generator.c
index 53e9fbe..0f7a516 100644
--- a/generator.c
+++ b/generator.c
@@ -1353,6 +1353,8 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
 		} else
 			added_perms = 0;
 		if (is_dir < 0) {
+			if (!(preserve_times & PRESERVE_DIR_TIMES))
+				return;
 			/* In inc_recurse mode we want to make sure any missing
 			 * directories get created while we're still processing
 			 * the parent dir (which allows us to touch the parent
diff --git a/rsync.yo b/rsync.yo
index c99d150..94e6fd1 100644
--- a/rsync.yo
+++ b/rsync.yo
@@ -1175,6 +1175,17 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
 the directories on the receiving side, it is a good idea to use bf(-O).
 This option is inferred if you use bf(--backup) without bf(--backup-dir).
+This option also has the side-effect of avoiding early creation of directories
+in incremental recursion copies.  The default bf(--inc-recursive) copying
+normally does an early-create pass of all the sub-directories in a parent
+directory in order for it to be able to then set the modify time of the parent
+directory right away (without having to delay that until a bunch of recursive
+copying has finished).  This early-create idiom is not necessary if directory
+modify times are not being preserved, so it is skipped.  Since early-create
+directories don't have accurate mode, mtime, or ownership, the use of this
+option can help when someone wants to avoid these partially-finished
 dit(bf(-J, --omit-link-times)) This tells rsync to omit symlinks when
 it is preserving modification times (see bf(--times)).

The rsync repository.

More information about the rsync-cvs mailing list