On Wed, Dec 06, 2000 at 11:43:18AM +1100, Donovan Baarda wrote: G'day, > Quoting Martin Pool <[EMAIL PROTECTED]>: [...] > > I'm changing libhsync to have an API much like zlib/bzlib, in the hope > > that this will make network app integration simpler. > [...] > > I am 90% of the way through an "example implementation" of exactly this in pure > python. I should be finished within a week (it's only a couple of hours work, Well, I finaly got around to finishing this off enought to seek comment. I have implemented the rsync algorithm in pure python. It's not fast, but it works, and is very simple. The whole thing is about 300 lines, and half of those are explanations and musings in comments. I've basicly implemented the commandline api Martin was talking about... so you can generate signature files, generate delta files, and apply delta files. There is no network transport stuff, though experienced pythonistas could easily whip something up if they wanted to. The signature and delta files are just pickled python objects, so they are not compatible with anything else. My bandwidth sucks a bit, so please be gentle. If I start getting hammered I'll put it up on sourceforge code-snippets or something. For now, it can be downloaded from; ftp://minkirri.apana.org.au/pub/python/pysync-0.3.tar.bz2 I must confess that the source to xdelta, libhsync, and rsync all scared me a bit which is why I thought I'd write a simple version. Experienced rsyc coders, please don't laugh, but I'd appreciate constructive critisism. In particular, I'd like to know if I've missed any tricks in the algo'. I'd like to think that this could form a framework for experimenting with various tweaks to the algorithm, but I'm probably dreaming :-) Feel free to forward this to anyone or any other lists you might think would be interested... -- ---------------------------------------------------------------------- ABO: finger [EMAIL PROTECTED] for more info, including pgp key ----------------------------------------------------------------------
