From 1b3cadaa39db9871d8fd4a82ec50608ebb2708af Mon Sep 17 00:00:00 2001 From: David Dykstra Date: Mon, 20 Jan 2003 23:32:17 +0000 Subject: [PATCH] Re-activate the piece of code that creates intervening directories when --relative-paths is used. The code was accidentally skipped starting in CVS version 1.32 of receiver.c. Noticed by Craig Barratt. --- NEWS | 3 +++ receiver.c | 9 +-------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/NEWS b/NEWS index e6120786..0de4a646 100644 --- a/NEWS +++ b/NEWS @@ -60,6 +60,9 @@ rsync changes since last release * Prevent infinite recursion in cleanup code under certain circumstances. (Sviatoslav Sviridov) + * Fixed a bug that prevented rsync from creating intervening directories + when --relative-paths/-R is set. (Craig Barratt) + INTERNAL: * Many code cleanups and improved internal documentation. (Martin diff --git a/receiver.c b/receiver.c index a4a3383d..ae270cf7 100644 --- a/receiver.c +++ b/receiver.c @@ -425,13 +425,6 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen) this out. We also set it initially without group access because of a similar race condition. */ fd2 = do_mkstemp(fnametmp, file->mode & INITACCESSPERMS); - if (fd2 == -1) { - rprintf(FERROR,"mkstemp %s failed: %s\n",fnametmp,strerror(errno)); - receive_data(f_in,buf,-1,NULL,file->length); - if (buf) unmap_file(buf); - if (fd1 != -1) close(fd1); - continue; - } /* in most cases parent directories will already exist because their information should have been previously @@ -442,7 +435,7 @@ int recv_files(int f_in,struct file_list *flist,char *local_name,int f_gen) fd2 = do_mkstemp(fnametmp, file->mode & INITACCESSPERMS); } if (fd2 == -1) { - rprintf(FERROR,"cannot create %s : %s\n",fnametmp,strerror(errno)); + rprintf(FERROR,"mkstemp %s failed: %s\n",fnametmp,strerror(errno)); receive_data(f_in,buf,-1,NULL,file->length); if (buf) unmap_file(buf); if (fd1 != -1) close(fd1); -- 2.34.1