added a bit in the man page about the clean shell error
authorAndrew Tridgell <tridge@samba.org>
Fri, 17 Jul 1998 14:25:14 +0000 (14:25 +0000)
committerAndrew Tridgell <tridge@samba.org>
Fri, 17 Jul 1998 14:25:14 +0000 (14:25 +0000)
compat.c
rsync.yo

index a8bcd48..ba1a83e 100644 (file)
--- a/compat.c
+++ b/compat.c
@@ -53,6 +53,7 @@ void setup_protocol(int f_out,int f_in)
        if (remote_version < MIN_PROTOCOL_VERSION ||
            remote_version > MAX_PROTOCOL_VERSION) {
                rprintf(FERROR,"protocol version mismatch - is your shell clean?\n");
+               rprintf(FERROR,"(see the rsync man page for an explanation)\n");
                exit_cleanup(1);
        }       
        
index b6f1d16..0db08bc 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -315,6 +315,11 @@ option all symbolic links are skipped.
 dit(bf(-L, --copy-links)) This tells rsync to treat symbolic links just
 like  ordinary files.
 
+dit(bf(--safe-links)) This tells rsync to ignore any symbolic links
+which point outside the destination tree. All absolute symlinks are
+also ignored. Using this option in conjunction with --relative may
+give unexpecetd results. 
+
 dit(bf(-H, --hard-links)) This tells rsync to recreate hard  links  on
 the  remote system  to  be the same as the local system. Without this
 option hard links are treated like regular files.
@@ -357,6 +362,10 @@ instead it will just report the actions it would have taken.
 dit(bf(-S, --sparse)) Try to handle sparse files efficiently so they take
 up less space on the destination.
 
+NOTE: Don't use this option when the destination is a Solaris "tmpfs"
+filesystem. It doesn't seem to handle seeks over null regions
+correctly and ends up corrupting the files.
+
 dit(bf(-x, --one-file-system)) This tells rsync not to cross filesystem
 boundaries  when recursing.  This  is useful for transferring the
 contents of only one filesystem.
@@ -585,6 +594,29 @@ itemize(
   directories and C source files.
 )
 
+manpagesection(DIAGNOSTICS)
+
+rsync occasinally produces error messages that may seem a little
+cryptic. The one that seems to cause the most confusion is "protocol
+version mismatch - is your shell clean?".
+
+This message is usually caused by your startup scripts or remote shell
+facility producing unwanted garbage on the stream that rsync is using
+for its transport. The way ot diagnose this problem is to run your
+remote shell like this:
+
+verb(
+   rsh remotehost /bin/true > out.dat
+)
+       
+then look at out.dat. If everything is working correctly then out.dat
+should be a zero length file. You you are getting the above error from
+rsync then you will probably find that out.dat contains some text or
+data. Look at the contents and try to work out what is producing
+it. The most common cause is incorrectly configued shell startup
+scripts (such as .cshrc or .profile) that contain output statements
+for non-interactive logins.
+
 manpagesection(ENVIRONMENT VARIABLES)
 
 startdit()