X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/c55fb5e1d639d72a16604c6e0153e19d04ef0d78..82b2a31a46d7c94f951b96f61c9935198f0f53f1:/hlink.c diff --git a/hlink.c b/hlink.c index 291c5cea..dc969e9a 100644 --- a/hlink.c +++ b/hlink.c @@ -32,7 +32,6 @@ extern int do_xfers; extern int link_dest; extern int preserve_acls; extern int preserve_xattrs; -extern int make_backups; extern int protocol_version; extern int remove_source_files; extern int stdout_format_has_i; @@ -377,9 +376,13 @@ int hard_link_check(struct file_struct *file, int ndx, char *fname, } if (link_stat(prev_name, &prev_st, 0) < 0) { - rsyserr(FERROR_XFER, errno, "stat %s failed", - full_fname(prev_name)); - return -1; + if (!dry_run || errno != ENOENT) { + rsyserr(FERROR_XFER, errno, "stat %s failed", full_fname(prev_name)); + return -1; + } + /* A new hard-link will get a new dev & inode, so approximate + * those values in dry-run mode by zeroing them. */ + memset(&prev_st, 0, sizeof prev_st); } if (statret < 0 && basis_dir[0] != NULL) {