int remote_protocol = 0;
int file_extra_cnt = 0; /* count of file-list extras that everyone gets */
-int incremental = 0;
+int inc_recurse = 0;
extern int verbose;
extern int am_server;
} else if (protocol_version >= 30) {
if (recurse && !preserve_hard_links && !delete_before
&& !delete_after && !delay_updates && !prune_empty_dirs)
- incremental = 1;
+ inc_recurse = 1;
need_messages_from_generator = 1;
}
extern int am_server;
extern int am_daemon;
extern int am_sender;
-extern int incremental;
+extern int inc_recurse;
extern int do_progress;
extern int always_checksum;
extern int module_id;
static int show_filelist_p(void)
{
- return verbose && xfer_dirs && !am_server && !incremental;
+ return verbose && xfer_dirs && !am_server && !inc_recurse;
}
static void start_filelist_progress(char *kind)
uid = F_UID(file);
if (preserve_uid && !numeric_ids) {
user_name = add_uid(uid);
- if (incremental && user_name)
+ if (inc_recurse && user_name)
flags |= XMIT_USER_NAME_FOLLOWS;
}
}
gid = F_GID(file);
if (preserve_gid && !numeric_ids) {
group_name = add_gid(gid);
- if (incremental && group_name)
+ if (inc_recurse && group_name)
flags |= XMIT_GROUP_NAME_FOLLOWS;
}
}
uid = (uid_t)read_int(f);
if (flags & XMIT_USER_NAME_FOLLOWS)
uid = recv_user_name(f, uid);
- else if (incremental && am_root && !numeric_ids)
+ else if (inc_recurse && am_root && !numeric_ids)
uid = match_uid(uid);
}
if (preserve_gid && !(flags & XMIT_SAME_GID)) {
gid = (gid_t)read_int(f);
if (flags & XMIT_GROUP_NAME_FOLLOWS)
gid = recv_group_name(f, gid);
- else if (incremental && (!am_root || !numeric_ids))
+ else if (inc_recurse && (!am_root || !numeric_ids))
gid = match_gid(gid);
}
extra_len = (extra_len | (EXTRA_ROUNDING * EXTRA_LEN)) + EXTRA_LEN;
#endif
- if (incremental && S_ISDIR(mode)) {
+ if (inc_recurse && S_ISDIR(mode)) {
if (one_file_system) {
/* Room to save the dir's device for -x */
extra_len += 2 * EXTRA_LEN;
if (basename_len == 0+1)
return NULL;
- if (incremental && flist == dir_flist) {
+ if (inc_recurse && flist == dir_flist) {
flist_expand(flist);
flist->files[flist->count++] = file;
}
rprintf(FLOG, "building file list\n");
if (show_filelist_p())
start_filelist_progress("building file list");
- else if (incremental && verbose && !am_server)
+ else if (inc_recurse && verbose && !am_server)
rprintf(FCLIENT, "sending incremental file list\n");
start_write = stats.total_written;
#endif
flist = cur_flist = flist_new(0, "send_file_list");
- if (incremental) {
+ if (inc_recurse) {
dir_flist = flist_new(FLIST_TEMP, "send_file_list");
flags = FLAG_DIVERT_DIRS;
} else {
if (fn != p || (*lp && *lp != '/')) {
int save_copy_links = copy_links;
int save_xfer_dirs = xfer_dirs;
- int dir_flags = incremental ? FLAG_DIVERT_DIRS : 0;
+ int dir_flags = inc_recurse ? FLAG_DIVERT_DIRS : 0;
copy_links |= copy_unsafe_links;
xfer_dirs = 1;
while ((slash = strchr(slash+1, '/')) != 0) {
struct file_struct *file;
int top_flags = FLAG_TOP_DIR | FLAG_XFER_DIR
| (is_dot_dir ? 0 : flags)
- | (incremental ? FLAG_DIVERT_DIRS : 0);
+ | (inc_recurse ? FLAG_DIVERT_DIRS : 0);
file = send_file_name(f, flist, fbuf, &st,
top_flags, ALL_FILTERS);
- if (file && !incremental)
+ if (file && !inc_recurse)
send_if_directory(f, flist, file, fbuf, len, flags);
} else
send_file_name(f, flist, fbuf, &st, flags, ALL_FILTERS);
write_byte(f, 0); /* Indicate end of file list */
#ifdef SUPPORT_HARD_LINKS
- if (preserve_hard_links && protocol_version >= 30 && !incremental)
+ if (preserve_hard_links && protocol_version >= 30 && !inc_recurse)
idev_destroy();
#endif
* kept. For incremental mode, the sender also removes duplicates
* in this initial file-list so that it avoids re-sending duplicated
* directories. */
- clean_flist(flist, 0, incremental);
+ clean_flist(flist, 0, inc_recurse);
file_total += flist->count;
- if (!numeric_ids && !incremental)
+ if (!numeric_ids && !inc_recurse)
send_uid_list(f);
/* send the io_error flag */
if (verbose > 2)
rprintf(FINFO, "send_file_list done\n");
- if (incremental) {
+ if (inc_recurse) {
add_dirs_to_tree(-1, 0, dir_flist->count - 1);
if (file_total == 1) {
/* If we're creating incremental file-lists and there
rprintf(FLOG, "receiving file list\n");
if (show_filelist_p())
start_filelist_progress("receiving file list");
- else if (incremental && verbose && !am_server && !first_flist)
+ else if (inc_recurse && verbose && !am_server && !first_flist)
rprintf(FCLIENT, "receiving incremental file list\n");
start_read = stats.total_read;
init_hard_links();
#endif
- if (incremental) {
+ if (inc_recurse) {
if (flist->ndx_start == 0)
dir_flist = flist_new(FLIST_TEMP, "recv_file_list");
dstart = dir_flist->count;
flags |= read_byte(f) << 8;
file = recv_file_entry(flist, flags, f);
- if (incremental && S_ISDIR(file->mode)) {
+ if (inc_recurse && S_ISDIR(file->mode)) {
flist_expand(dir_flist);
dir_flist->files[dir_flist->count++] = file;
}
clean_flist(flist, relative_paths, 1);
- if (incremental) {
+ if (inc_recurse) {
qsort(dir_flist->files + dstart, dir_flist->count - dstart,
sizeof dir_flist->files[0], (int (*)())file_compare);
} else if (f >= 0)
extern int am_root;
extern int am_server;
extern int am_daemon;
-extern int incremental;
+extern int inc_recurse;
extern int do_progress;
extern int relative_paths;
extern int implied_dirs;
if (!get_tmpname(fnametmp, "deldelay")
|| (deldelay_fd = do_mkstemp(fnametmp, 0600)) < 0) {
rprintf(FINFO, "NOTE: Unable to create delete-delay temp file%s.\n",
- incremental ? "" : " -- switching to --delete-after");
+ inc_recurse ? "" : " -- switching to --delete-after");
delete_during = 0;
- delete_after = !incremental;
+ delete_after = !inc_recurse;
dry_run = save_dry_run;
return 0;
}
rprintf(code, "%s/\n", fname);
if (real_ret != 0 && one_file_system)
real_st.st_dev = filesystem_dev;
- if (incremental) {
+ if (inc_recurse) {
if (one_file_system) {
uint32 *devp = F_DIRDEV_P(file);
DEV_MAJOR(devp) = major(real_st.st_dev);
notify_others:
if (remove_source_files && !delay_updates && !phase)
increment_active_files(ndx, itemizing, code);
- if (incremental && !dry_run)
+ if (inc_recurse && !dry_run)
cur_flist->in_progress++;
#ifdef SUPPORT_HARD_LINKS
if (preserve_hard_links && F_IS_HLINKED(file))
ignore_timeout = 1;
do {
- if (incremental && delete_during && cur_flist->ndx_start) {
+ if (inc_recurse && delete_during && cur_flist->ndx_start) {
struct file_struct *fp = dir_flist->files[cur_flist->parent_ndx];
if (BITS_SETnUNSET(fp->flags, FLAG_XFER_DIR, FLAG_MISSING_DIR)) {
dev_t dirdev;
maybe_flush_socket();
}
- if (!incremental) {
+ if (!inc_recurse) {
if (delete_during)
delete_in_dir(NULL, NULL, NULL, &dev_zero);
phase++;
check_for_finished_hlinks(itemizing, code);
if ((i = get_redo_num()) == -1) {
- if (incremental)
+ if (inc_recurse)
break;
wait_for_receiver();
continue;
make_backups = -make_backups;
ignore_times--;
- if (!incremental)
+ if (!inc_recurse)
break;
while (!cur_flist->next && !flist_eof)
do_delete_pass(cur_flist);
if ((need_retouch_dir_perms || need_retouch_dir_times)
- && dir_tweaking && (!incremental || delete_during == 2)) {
- touch_up_dirs(incremental ? dir_flist : cur_flist, -1,
+ && dir_tweaking && (!inc_recurse || delete_during == 2)) {
+ touch_up_dirs(inc_recurse ? dir_flist : cur_flist, -1,
need_retouch_dir_times, lull_mod);
}
extern int am_daemon;
extern int am_sender;
extern int am_generator;
-extern int incremental;
+extern int inc_recurse;
extern int io_error;
extern int eol_nulls;
extern int flist_eof;
invalid_msg:
rprintf(FERROR, "invalid message %d:%d [%s%s]\n",
tag, len, who_am_i(),
- incremental ? "/incremental" : "");
+ inc_recurse ? "/inc" : "");
exit_cleanup(RERR_STREAMIO);
}
if (len) {
if (remove_source_files)
decrement_active_files(IVAL(buf,0));
flist_ndx_push(&redo_list, IVAL(buf,0));
- if (incremental)
+ if (inc_recurse)
decrement_flist_in_progress(IVAL(buf,0), 1);
break;
case MSG_FLIST:
- if (len != 4 || !am_generator || !incremental)
+ if (len != 4 || !am_generator || !inc_recurse)
goto invalid_msg;
readfd(fd, buf, 4);
/* Read extra file list from receiver. */
flist->parent_ndx = IVAL(buf,0);
break;
case MSG_FLIST_EOF:
- if (len != 0 || !am_generator || !incremental)
+ if (len != 0 || !am_generator || !inc_recurse)
goto invalid_msg;
flist_eof = 1;
break;
}
if (preserve_hard_links)
flist_ndx_push(&hlink_list, IVAL(buf,0));
- if (incremental)
+ if (inc_recurse)
decrement_flist_in_progress(IVAL(buf,0), 0);
break;
case MSG_NO_SEND:
if (len != 4 || !am_generator)
goto invalid_msg;
readfd(fd, buf, len);
- if (incremental)
+ if (inc_recurse)
decrement_flist_in_progress(IVAL(buf,0), 0);
break;
case MSG_SOCKERR:
extern int am_sender;
extern int am_generator;
extern int am_daemon;
-extern int incremental;
+extern int inc_recurse;
extern int blocking_io;
extern int remove_source_files;
extern int daemon_over_rsh;
rprintf(FERROR,"server_recv: recv_file_list error\n");
exit_cleanup(RERR_FILESELECT);
}
- if (incremental && file_total == 1)
+ if (inc_recurse && file_total == 1)
recv_additional_file_list(f_in);
verbose = save_verbose;
if (write_batch && !am_server)
start_write_batch(f_in);
flist = recv_file_list(f_in);
- if (incremental && file_total == 1)
+ if (inc_recurse && file_total == 1)
recv_additional_file_list(f_in);
if (flist && flist->count > 0) {
extern int do_xfers;
extern int am_server;
extern int do_progress;
-extern int incremental;
+extern int inc_recurse;
extern int log_before_transfer;
extern int stdout_format_has_i;
extern int logfile_format_has_i;
}
next_gen_ndx = read_int(fd);
if (next_gen_ndx == -1) {
- if (incremental)
+ if (inc_recurse)
next_gen_ndx = first_flist->prev->count + first_flist->prev->ndx_start;
else
next_gen_ndx = cur_flist->count;
ndx = read_ndx_and_attrs(f_in, -1, &iflags,
&fnamecmp_type, xname, &xlen);
if (ndx == NDX_DONE) {
- if (incremental && first_flist) {
+ if (inc_recurse && first_flist) {
flist_free(first_flist);
if (first_flist)
continue;
}
if (read_batch && cur_flist) {
- int high = incremental
+ int high = inc_recurse
? first_flist->prev->count + first_flist->prev->ndx_start
: cur_flist->count;
get_next_gen_ndx(batch_gen_fd, next_gen_ndx, high);
cleanup_disable();
if (recv_ok > 0) {
- if (remove_source_files || incremental
+ if (remove_source_files || inc_recurse
|| (preserve_hard_links && F_IS_HLINKED(file)))
send_msg_int(MSG_SUCCESS, ndx);
} else if (!recv_ok) {
if (!redoing) {
send_msg_int(MSG_REDO, ndx);
file->flags |= FLAG_FILE_SENT;
- } else if (incremental)
+ } else if (inc_recurse)
send_msg_int(MSG_NO_SEND, ndx);
}
}
extern int protocol_version;
extern int preserve_uid;
extern int preserve_gid;
-extern int incremental;
+extern int inc_recurse;
extern int inplace;
extern int flist_eof;
extern int keep_dirlinks;
break;
if (ndx == NDX_DONE)
return ndx;
- if (!incremental || am_sender)
+ if (!inc_recurse || am_sender)
goto invalid_ndx;
if (ndx == NDX_FLIST_EOF) {
flist_eof = 1;
alloc_pool_t file_pool;
int count, malloced;
int low, high; /* 0-relative index values excluding empties */
- int ndx_start; /* the start offset when incremental */
+ int ndx_start; /* the start offset for inc_recurse mode */
int parent_ndx; /* dir_flist index of parent directory */
int in_progress, to_redo;
};
extern int do_xfers;
extern int am_server;
extern int am_daemon;
-extern int incremental;
+extern int inc_recurse;
extern int log_before_transfer;
extern int stdout_format_has_i;
extern int logfile_format_has_i;
rprintf(FINFO, "send_files starting\n");
while (1) {
- if (incremental)
+ if (inc_recurse)
send_extra_file_list(f_out, 1000);
/* This call also sets cur_flist. */
ndx = read_ndx_and_attrs(f_in, f_out, &iflags,
&fnamecmp_type, xname, &xlen);
if (ndx == NDX_DONE) {
- if (incremental && first_flist) {
+ if (inc_recurse && first_flist) {
flist_free(first_flist);
if (first_flist) {
write_ndx(f_out, NDX_DONE);