The sound distributed version control system

#556 binary diff can get stuck

Closed on December 2, 2021
rohan on October 24, 2021

I’ve added a little logging which shows that diff::bin::make_new_chunks can get stuck.

2021-10-24T22:29:57Z DEBUG libpijul::diff::bin] match chunk 3020082667
[2021-10-24T22:29:57Z DEBUG libpijul::diff::bin] looping j=2206023
[2021-10-24T22:29:57Z DEBUG libpijul::diff::bin] match chunk 3020082667
[2021-10-24T22:29:57Z DEBUG libpijul::diff::bin] looping j=2206023
[2021-10-24T22:29:57Z DEBUG libpijul::diff::bin] match chunk 3020082667
[2021-10-24T22:29:57Z DEBUG libpijul::diff::bin] looping j=2206023

Will try and debug further

rohan on October 24, 2021

It’s a simple as a hash match in if let Some(v) = a_h.get(&h) without any exact match in

for &(v, old) in v.iter() {
                if old == &b[j..i] {

In my case there’s only a single old checked

rohan added a change on October 25, 2021
7WIVT3R7HXPYTWRUMW6JGHVUTKRBRMD6SA7RQCMXVWNII5VJCSAAC
main
rohan on October 25, 2021

Just create a new chunk. Not extensively tested

pmeunier on December 2, 2021

Good catch, thanks!

pmeunier closed this discussion on December 2, 2021