I debugged this problem and it was a spurious bug in how --paranoia was
implemented, and librsync/rdiff both work fine without the --paranoia
feature enabled.

This feature existed to catch and help debug potential rollsum bugs. The
rollsum code is now very mature and the --paranoia feature itself has
become a source of more bugs than the rollsum it was designed to check.

So this problem has been fixed upstream with the release of v2.1.0 by
removing the --paranoia feature.

On Thu, 15 Aug 2019 at 21:35, Donovan Baarda <a...@minkirri.apana.org.au>
wrote:

> Thanks for reporting this.
>
> This should not be happening. It's unlikely to cause any corruption (which
> would require a strong-sum collision), but it might be indicating a rollsum
> bug that could be causing delta calculation to miss some matches, resulting
> in a larger delta than it should.
>
> I was just considering removing the --paranoia setting because I thought
> the delta code in librsync was pretty mature and we didn't need it any more.
>
> I filed an upstream bug against librsync and will investigate/fix;
>
> https://github.com/librsync/librsync/issues/155
>
> --
> Donovan Baarda <a...@minkirri.apana.org.au>
>


-- 
Donovan Baarda <a...@minkirri.apana.org.au>

Reply via email to