In place updates for librsync ----------------------------- $Id: inplace.txt,v 1.2 2001/03/11 07:51:28 mbp Exp $ Can we apply patches in place? It might be nice if we could, because we could then do things like rsync the contents of block devices. One complication is that we must make sure blocks are not used as a basis after they've been updated. We can fairly easily impose this constrain while generating the delta, and check it while applying. Also, if the patch fails halfway through then there is no easy way to recover. But if this was done inside rsync then it would be OK to just run the command again. Alternatively, we can have instruction which don't construct the output in order, but rather writes out whatever it can from the existing file, and then inserts literals. So this would imply having "MOVE FROM, LEN, TO" and "LITERAL TO, LEN" instructions. We can put this into the library, but the actual difference algorithm will be new, not just the encoding. However, that would require a lot of buffering, or two passes.