extern int dry_run;
extern int am_server;
extern int relative_paths;
+extern int keep_dirlinks;
extern int preserve_hard_links;
extern int preserve_perms;
extern int cvs_exclude;
extern int ignore_errors;
extern int orig_umask;
extern int keep_partial;
+extern int checksum_seed;
static void delete_one(char *fn, int is_dir)
{
}
} else {
if (do_rmdir(fn) != 0) {
+ if (errno == ENOTDIR && keep_dirlinks) {
+ delete_one(fn, 0);
+ return;
+ }
if (errno != ENOTEMPTY && errno != EEXIST) {
rsyserr(FERROR, errno,
"delete_one: rmdir %s failed",
read_sum_head(f_in, &sum);
- sum_init();
+ sum_init(checksum_seed);
while ((i = recv_token(f_in, &data)) != 0) {
if (do_progress)