On Wed, 2002-12-18 at 02:11, Christoph Bartelmus wrote: > Hello, > > I'm currently evaluating the possibility of implementing a rsync client > in a project for my company. The platform used is currently not > supported and implementing the client from scratch currently seems to be > the most feasible approach.
You do _not_ want to do this, unless you are prepared to make your client implementation incompatible with the real rsync. If you need real rsync compatibility, then your best bet is to port rsync to the platform and submit your patches upstream. This is your best chance of achieving and maintaining rsync compatibility. I you are prepared to forgo rsync compatibility, you should look at librsync. There are also various prototype implementations like superlifter, pysync, etc. > For that I'd be very much interested in a description of the protocol > that rsync talks on port 873. Is such a description available somewhere? > I don't want to have to deduce the protocol from the source code. The protocol changes as rsync is updated, and is very.... evolved.... re-implementing and tracking it is not really viable/desirable. > What I have found so far are the description of the algorithms (rsync > technical report and Andrew Tridgell's PhD thesis). Have I overlooked > something obvious? http://freshmeat.net/projects/pysync/ is a Python implementation of the algorithm and various variations like xdelta in ~400 lines (mostly documentation)... can be useful for understanding the algorithm or prototyping stuff. ABO -- To unsubscribe or change options: http://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.tuxedo.org/~esr/faqs/smart-questions.html