Preparing for release of 3.0.1pre2
[rsync.git] / rsyncsh.txt
blob93932dc75fc8ab68795cab4c473d79ecc450df7a
1 rsyncsh
2 Copyright (C) 2001 by Martin Pool
4 This is a quick hack to build an interactive shell around rsync, the
5 same way we have the ftp, lftp and ncftp programs for the FTP
6 protocol.  The key application for this is connecting to a public
7 rsync server, such as rsync.kernel.org, change down through and list
8 directories, and finally pull down the file you want.
10 rsync is somewhat ill-at-ease as an interactive operation, since every
11 network connection is used to carry out exactly one operation.  rsync
12 kind of "forks across the network" passing the options and filenames
13 to operate upon, and the connection is closed when the transfer is
14 complete.  (This might be fixed in the future, either by adapting the
15 current protocol to allow chained operations over a single socket, or
16 by writing a new protocol that better supports interactive use.)
18 So, rsyncsh runs a new rsync command and opens a new socket for every
19 (network-based) command you type.
21 This has two consequences.  Firstly, there is more command latency
22 than is really desirable.  More seriously, if the connection cannot be
23 done automatically, because for example it uses SSH with a password,
24 then you will need to enter the password every time.  We might even
25 fix this in the future, though, by having a way to automatically feed
26 the password to SSH if it's entered once.