Fix an issue while searching a cloneable file#2748
Fix an issue while searching a cloneable file#2748zorgiepoo merged 2 commits intosparkle-project:2.xfrom
Conversation
|
Thank you. (I also have used Hopper plenty btw, great app!) This fix looks good to me. I feel like we should add a check to this case too: (Even though it's not strictly necessary because the old size will be 0 for a directory I think) For these kind of fixes I also like to update edit: The Let me know if you are able to update this or not.
In this specific case, please also check the Compatibility section for delta updates. In this instance, an app with Sparkle 1.27.1 only understands how to apply version 2 delta patches (which do not support clones) so you'd pass |
|
Feel free to also pick up this patch for additional tests for this case: Or I can land these myself afterwards. |
|
Sorry for the very late response, I'm not at home at the moment. I have modified the minor versions numbers, as requested. |
|
Thank you, I think this looks good. |
|
@bSr43 Btw, I downloaded a new version Hopper to try out. If you run 2.8.0 (Tahoe refresh) and 2.7.3 (security fixes) were also released recently. |
|
Thank you @zorgiepoo, I'll improve that point in the upcoming update. |
Hi !
Thank you for this amazing project that I've been using for years now !
I'm the developer of a program called "Hopper Disassembler." I have been using an old version of Sparkle (1.27.1), which worked perfectly fine for years. My CI compiles the new versions of my application and builds 3 delta updates for each variant (demo, full, etc.). Everything was fine, until I upgraded to Sparkle 2.7.1 for my upcoming version 6.x.
When building delta updates between my old version (which uses Sparkle 1.27.1) and my new version (using Sparkle 2.7.1), BinaryDelta fails to create the patch between the two versions of the embedded Sparkle framework because a file named
SUUpdateAlert.nibis compared to a directory with the same name and path (after the.framework/Versions/{A -> B}substitution) in the old version.Fixes
The fixe is trivial: in the
cloneableRelativePathfunction, in the part which handled the.framework/Versions/{A -> B}substitution, I check that the candidate is also a file.Misc Checklist
Testing
I tested and verified my change by using one or multiple of these methods:
macOS version tested: 15.6