X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6a85ee9623f40afa976e2cbe6ced5529c509a3c7..ea118be593f7f487fccb091377b4227581018ee4:/receiver.c diff --git a/receiver.c b/receiver.c index ac19f9c7..d09296d1 100644 --- a/receiver.c +++ b/receiver.c @@ -364,8 +364,6 @@ int recv_files(int f_in, char *local_name) if (delay_updates) delayed_bits = bitbag_create(cur_flist->used + 1); - updating_basis = inplace; - while (1) { cleanup_disable(); @@ -498,7 +496,6 @@ int recv_files(int f_in, char *local_name) fnamecmp = get_backup_name(fname); break; case FNAMECMP_FUZZY: - updating_basis = 0; if (file->dirname) { pathjoin(fnamecmpbuf, MAXPATHLEN, file->dirname, xname); @@ -507,7 +504,6 @@ int recv_files(int f_in, char *local_name) fnamecmp = xname; break; default: - updating_basis = 0; if (fnamecmp_type >= basis_dir_cnt) { rprintf(FERROR, "invalid basis_dir index: %d.\n", @@ -553,6 +549,7 @@ int recv_files(int f_in, char *local_name) fd1 = do_open(fnamecmp, O_RDONLY, 0); } } + updating_basis = inplace && fnamecmp == fname; if (fd1 == -1) { st.st_mode = 0;