[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Sun Sep 11 12:09:09 MDT 2011
The branch, master has been updated
via de407c0 Fix a potential hang on an empty file list. Fixes bug 8423.
via c1005fb Document --msgs2stderr.
from 70c4bfb Error out if --password-file specifed and it fails. Fixes bug 8440.
;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit de407c03d2f424829fc1af3db3260286788bd619
Author: Wayne Davison <wayned at samba.org>
Date: Sun Sep 11 11:07:02 2011 -0700
Fix a potential hang on an empty file list.
Fixes bug 8423.
commit c1005fb256ecd764caf23f54080ffbcf550b78f2
Author: Wayne Davison <wayned at samba.org>
Date: Sun Sep 11 11:01:04 2011 -0700
Document --msgs2stderr.
-----------------------------------------------------------------------
Summary of changes:
io.c | 3 +++
main.c | 6 +++++-
options.c | 1 +
rsync.yo | 11 +++++++++++
4 files changed, 20 insertions(+), 1 deletions(-)
Changeset truncated at 500 lines:
diff --git a/io.c b/io.c
index 7cb3be1..b4e0a68 100644
--- a/io.c
+++ b/io.c
@@ -912,6 +912,9 @@ void noop_io_until_death(void)
{
char buf[1024];
+ if (!iobuf.in.buf || !iobuf.out.buf || iobuf.in_fd == -1 || iobuf.out_fd == -1)
+ return;
+
kluge_around_eof = 2;
/* Setting an I/O timeout ensures that if something inexplicably weird
* happens, we won't hang around forever. */
diff --git a/main.c b/main.c
index 5a06f17..c5e106c 100644
--- a/main.c
+++ b/main.c
@@ -809,8 +809,12 @@ static void do_server_sender(int f_in, int f_out, int argc, char *argv[])
}
flist = send_file_list(f_out,argc,argv);
- if (!flist || flist->used == 0)
+ if (!flist || flist->used == 0) {
+ /* Make sure input buffering is off so we can't hang in noop_io_until_death(). */
+ io_end_buffering_in(0);
+ /* TODO: we should really exit in a more controlled manner. */
exit_cleanup(0);
+ }
io_start_buffering_in(f_in);
diff --git a/options.c b/options.c
index 6ba6669..70905b8 100644
--- a/options.c
+++ b/options.c
@@ -665,6 +665,7 @@ void usage(enum logcode F)
rprintf(F," -v, --verbose increase verbosity\n");
rprintf(F," --info=FLAGS fine-grained informational verbosity\n");
rprintf(F," --debug=FLAGS fine-grained debug verbosity\n");
+ rprintf(F," --msgs2stderr special output handling for debugging\n");
rprintf(F," -q, --quiet suppress non-error messages\n");
rprintf(F," --no-motd suppress daemon-mode MOTD (see manpage caveat)\n");
rprintf(F," -c, --checksum skip based on checksum, not mod-time & size\n");
diff --git a/rsync.yo b/rsync.yo
index 96e2634..7cf3a80 100644
--- a/rsync.yo
+++ b/rsync.yo
@@ -320,6 +320,7 @@ to the detailed description below for a complete description. verb(
-v, --verbose increase verbosity
--info=FLAGS fine-grained informational verbosity
--debug=FLAGS fine-grained debug verbosity
+ --msgs2stderr special output handling for debugging
-q, --quiet suppress non-error messages
--no-motd suppress daemon-mode MOTD (see caveat)
-c, --checksum skip based on checksum, not mod-time & size
@@ -538,6 +539,16 @@ This option was added to 3.1.0, so an older rsync on the server side might
reject your attempts at fine-grained control (if one or more flags needed
to be send to the server and the server was too old to understand them).
+dit(bf(--msgs2stderr)) This option changes rsync to send all its output
+directly to stderr rather than to send messages to the client side via the
+protocol (which normally outputs info messages via stdout). This is mainly
+intended for debugging in order to avoid changing the data sent via the
+protocol, since the extra protocol data can change what is being tested.
+Keep in mind that a daemon connection does not have a stderr channel to send
+messages back to the client side, so if you are doing any daemon-transfer
+debugging using this option, you should start up a daemon using bf(--no-detach)
+so that you can see the stderr output on the daemon side.
+
dit(bf(-q, --quiet)) This option decreases the amount of information you
are given during the transfer, notably suppressing information messages
from the remote server. This option name is useful when invoking rsync from
--
The rsync repository.
More information about the rsync-cvs
mailing list