Update: Binary diffs for Seafile Client and SeaDrive Client

Now, where the client has an auto update funtionality it would be helpful if it could always store the last version locally and only download a diff. Using bsdiff (see http://www.daemonology.net/bsdiff/) I could reduce the size of an update from 0.7.0 to 0.7.1 (seadrive) to 8 MiB which less than 10 percent of the full file size.

The diffs could be pre computed and there could always be a diff from the last five to the most recent version. If the client is older than that or applying the patch fails (sha256 missmatch) it would download the full install binary instead.

2 Likes

Thanks for the suggestion. We’ll look into how to integrate into update process.

1 Like