aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-07-17 14:25:14 +0000
committerAndrew Tridgell <tridge@samba.org>1998-07-17 14:25:14 +0000
commitd310a212f7a5c79e5e98c829e49a5c9596c12301 (patch)
tree13e15031584c75098b736fa555a45f7fd2f87a16
parentca6c93f817b453bcd8622cf66465851c15142a30 (diff)
downloadandroid_external_rsync-d310a212f7a5c79e5e98c829e49a5c9596c12301.tar.gz
android_external_rsync-d310a212f7a5c79e5e98c829e49a5c9596c12301.tar.bz2
android_external_rsync-d310a212f7a5c79e5e98c829e49a5c9596c12301.zip
added a bit in the man page about the clean shell error
-rw-r--r--compat.c1
-rw-r--r--rsync.yo32
2 files changed, 33 insertions, 0 deletions
diff --git a/compat.c b/compat.c
index a8bcd480..ba1a83e5 100644
--- 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);
}
diff --git a/rsync.yo b/rsync.yo
index b6f1d160..0db08bcf 100644
--- 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()