X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/91262d5d3e6991035cd8c37b2d605c29d8c23da6..6d19c6742c58313d4c37fee3478dff03665bc6b0:/generator.c diff --git a/generator.c b/generator.c index 9617c921..80f6f135 100644 --- a/generator.c +++ b/generator.c @@ -31,6 +31,7 @@ extern int am_root; extern int preserve_devices; extern int preserve_hard_links; extern int update_only; +extern int opt_ignore_existing; extern int whole_file; extern int block_size; extern int csum_length; @@ -218,8 +219,7 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out) if (only_existing && statret == -1 && errno == ENOENT) { /* we only want to update existing files */ - if (verbose > 1) rprintf(FINFO, RSYNC_NAME - ": not creating new file \"%s\"\n",fname); + if (verbose > 1) rprintf(FINFO, "not creating new file \"%s\"\n",fname); return; } @@ -272,7 +272,7 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out) if (safe_symlinks && unsafe_symlink(file->link, fname)) { if (verbose) { - rprintf(FINFO,RSYNC_NAME ": ignoring unsafe symlink \"%s\" -> \"%s\"\n", + rprintf(FINFO,"ignoring unsafe symlink \"%s\" -> \"%s\"\n", fname,file->link); } return; @@ -300,8 +300,7 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out) } else { set_perms(fname,file,NULL,0); if (verbose) { - rprintf(FINFO,RSYNC_NAME": %s -> %s\n", - fname,file->link); + rprintf(FINFO,"%s -> %s\n", fname,file->link); } } #endif @@ -333,14 +332,12 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out) if (preserve_hard_links && check_hard_link(file)) { if (verbose > 1) - rprintf(FINFO, RSYNC_NAME - ": \"%s\" is a hard link\n",f_name(file)); + rprintf(FINFO, "\"%s\" is a hard link\n",f_name(file)); return; } if (!S_ISREG(file->mode)) { - rprintf(FINFO, RSYNC_NAME - ": skipping non-regular file \"%s\"\n",fname); + rprintf(FINFO, "skipping non-regular file \"%s\"\n",fname); return; } @@ -383,6 +380,12 @@ void recv_generator(char *fname,struct file_list *flist,int i,int f_out) return; } + if (opt_ignore_existing && fnamecmp == fname) { + if (verbose > 1) + rprintf(FINFO,"%s exists\n",fname); + return; + } + if (update_only && cmp_modtime(st.st_mtime,file->modtime)>0 && fnamecmp == fname) { if (verbose > 1) rprintf(FINFO,"%s is newer\n",fname);