The branch, master has been updated via eaa4e2d Fix itemize bug with --link-dest, -X, and -n. from e461cef Avoid useless keepalive msgs that would kill an older rsync.
;a=shortlog;h=master - Log ----------------------------------------------------------------- commit eaa4e2d1ee5518f3d785279cacf6bf794473ef16 Author: Wayne Davison <way...@samba.org> Date: Mon Nov 25 09:12:06 2013 -0800 Fix itemize bug with --link-dest, -X, and -n. When running with --*-dest & -X, some alt-dest-found files would not use the right name when looking up old attrs in itemize(), causing a weird error for a --dry-run copy. Fixes bug 10238. ----------------------------------------------------------------------- Summary of changes: generator.c | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/generator.c b/generator.c index b243b07..b2ca2e0 100644 --- a/generator.c +++ b/generator.c @@ -1520,15 +1520,17 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, goto cleanup; itemizing = 0; code = FNONE; - } else if (j >= 0) + } else if (j >= 0) { statret = 1; + fnamecmp = fnamecmpbuf; + } } if (atomic_create(file, fname, sl, MAKEDEV(0, 0), &sx, statret == 0 ? DEL_FOR_SYMLINK : 0)) { set_file_attrs(fname, file, NULL, NULL, 0); if (itemizing) { if (statret == 0 && !S_ISLNK(sx.st.st_mode)) statret = -1; - itemize(fname, file, ndx, statret, &sx, + itemize(fnamecmp, file, ndx, statret, &sx, ITEM_LOCAL_CHANGE|ITEM_REPORT_CHANGE, 0, NULL); } if (code != FNONE && INFO_GTE(NAME, 1)) @@ -1594,8 +1596,10 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, goto cleanup; itemizing = 0; code = FNONE; - } else if (j >= 0) + } else if (j >= 0) { statret = 1; + fnamecmp = fnamecmpbuf; + } } if (DEBUG_GTE(GENR, 1)) { rprintf(FINFO, "mknod(%s, 0%o, [%ld,%ld])\n", @@ -1605,7 +1609,7 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx, if (atomic_create(file, fname, NULL, rdev, &sx, del_for_flag)) { set_file_attrs(fname, file, NULL, NULL, 0); if (itemizing) { - itemize(fname, file, ndx, statret, &sx, + itemize(fnamecmp, file, ndx, statret, &sx, ITEM_LOCAL_CHANGE|ITEM_REPORT_CHANGE, 0, NULL); } if (code != FNONE && INFO_GTE(NAME, 1)) -- The rsync repository. _______________________________________________ rsync-cvs mailing list rsync-cvs@lists.samba.org https://lists.samba.org/mailman/listinfo/rsync-cvs