extern int protocol_version;
extern int always_checksum;
extern int preserve_times;
+extern int msgs2stderr;
extern int uid_ndx;
extern int gid_ndx;
extern int stdout_format_has_i;
if (len < 0)
exit_cleanup(RERR_MESSAGEIO);
+ if (msgs2stderr && code != FLOG) {
+ f = stderr;
+ goto output_msg;
+ }
+
if (am_server && msg_fd_out >= 0) {
assert(!is_utf8);
/* Pass the message to our sibling. */
exit_cleanup(RERR_MESSAGEIO);
}
+output_msg:
if (output_needs_newline) {
fputc('\n', f);
output_needs_newline = 0;
extern int need_messages_from_generator;
extern int kluge_around_eof;
extern int got_xfer_error;
+extern int msgs2stderr;
extern int module_id;
extern int copy_links;
extern int copy_dirlinks;
char *local_name = NULL;
int negated_levels;
- if (filesfrom_fd >= 0) {
+ if (filesfrom_fd >= 0 && !msgs2stderr) {
/* We can't mix messages with files-from data on the socket,
* so temporarily turn off info/debug messages. */
negate_output_levels();
int relative_paths = -1;
int implied_dirs = 1;
int numeric_ids = 0;
+int msgs2stderr = 0;
int allow_8bit_chars = 0;
int force_delete = 0;
int io_timeout = 0;
{"no-v", 0, POPT_ARG_VAL, &verbose, 0, 0, 0 },
{"info", 0, POPT_ARG_STRING, 0, OPT_INFO, 0, 0 },
{"debug", 0, POPT_ARG_STRING, 0, OPT_DEBUG, 0, 0 },
+ {"msgs2stderr", 0, POPT_ARG_NONE, &msgs2stderr, 0, 0, 0 },
{"quiet", 'q', POPT_ARG_NONE, 0, 'q', 0, 0 },
{"motd", 0, POPT_ARG_VAL, &output_motd, 1, 0, 0 },
{"no-motd", 0, POPT_ARG_VAL, &output_motd, 0, 0, 0 },
extern int inc_recurse;
extern int inplace;
extern int flist_eof;
+extern int msgs2stderr;
extern int keep_dirlinks;
extern int make_backups;
extern struct file_list *cur_flist, *first_flist, *dir_flist;
rprintf(FINFO, "[%s] receiving flist for dir %d\n",
who_am_i(), ndx);
}
- negate_output_levels(); /* turn off all info/debug output */
+ if (!msgs2stderr)
+ negate_output_levels(); /* turn off all info/debug output */
send_msg_int(MSG_FLIST, ndx);
start_flist_forward(f_in);
flist = recv_file_list(f_in);
flist->parent_ndx = ndx;
stop_flist_forward();
- negate_output_levels(); /* restore info/debug output */
+ if (!msgs2stderr)
+ negate_output_levels(); /* restore info/debug output */
}
iflags = protocol_version >= 29 ? read_shortint(f_in)
hands_setup
+DEBUG_OPTS="--debug=all5,deltasum0 --msgs2stderr"
+
# Main script starts here
runtest "basic operation" 'checkit "$RSYNC -av \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
ln "$fromdir/filelist" "$fromdir/dir"
-runtest "hard links" 'checkit "$RSYNC -avH --debug=all5 \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest "hard links" 'checkit "$RSYNC -avH $DEBUG_OPTS \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
rm "$todir/text"
-runtest "one file" 'checkit "$RSYNC -avH --debug=hlink5 \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest "one file" 'checkit "$RSYNC -avH $DEBUG_OPTS \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
echo "extra line" >> "$todir/text"
-runtest "extra data" 'checkit "$RSYNC -avH --debug=hlink5 --no-whole-file \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest "extra data" 'checkit "$RSYNC -avH $DEBUG_OPTS --no-whole-file \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
cp "$fromdir/text" "$todir/ThisShouldGo"
-runtest " --delete" 'checkit "$RSYNC --delete -avH --debug=hlink5 \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
+runtest " --delete" 'checkit "$RSYNC --delete -avH $DEBUG_OPTS \"$fromdir/\" \"$todir\"" "$fromdir/" "$todir"'
cd "$tmpdir"
rm -rf to from/*dir