Redundancy / go-sync

gosync is a library for Golang styled around zsync / rsync, written with the intent that it enables efficient differential file transfer in a number of ways. NB: I am unable to contribute to this at the moment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Detailed comparison to rsync/librsync/zsync

andreygursky opened this issue · comments

Daniel,

I'm missing a more detailed comparison to the mentioned rsync/librsync/zsync libs/progs. The most important differences between rsync and librsync/zsync is that the former can do interleaved patching (search for matches / data transfer). It seems go-sync doesn't support this (yet) or it's just not mentioned in https://github.com/Redundancy/go-sync#commandline--files?

Andrey

GoSync does binary differential patching by matching first weak rolling checksums and then strong checksums. It uses the blocksource interface to do requests for ranges of the source file.