Hey Marco, I ran into the same issue when trying to apply the patch in place. Did you manage to find a solution at all?
Hello everyone and thanks for this great work! I have been working for some time now on the OTA Firmware and the jojodiff and Janpach seemed to be the optimal solution because little ram and flash, I wanted to do inplace with the FLASH as source, the patch in RAM and the target the same FLASH space as the source. Everything worked well until daredevil tests, with a big firmware and especially with lots of zeros (constant tables). And in these cases, the reconstruction did not work. There were some...
Well, i forgt to tell i used the sourceforge build to test too !
Well, i forgt to tell iused the sourceforge buil to test too !
Well, it's about 85u only, others work as expected. It worked on my other PC, but the PC like title says never, i tried all to fix : DeskMini Two PCs : W10 22H2 x64 Program Version 2.6.4.1 [ Patch building session: 1 ] - [Starting INI file generating] Used MD5 comparision algorithm... Modified file: "O:\DownLd\B\Nouveau document texte.txt" Used Keyfile auto-detection method! => Keyfile: "\Nouveau document texte.txt" Total modified files: 1 Total included files: 0 [Ending INI file generating] [Starting...
Well, it worked on my other PC, but the PC like title says never, i tried all to fix : DeskMini Two PCs : W10 22H2 x64 Program Version 2.6.4.1 [ Patch building session: 1 ] - [Starting INI file generating] Used MD5 comparision algorithm... Modified file: "O:\DownLd\B\Nouveau document texte.txt" Used Keyfile auto-detection method! => Keyfile: "\Nouveau document texte.txt" Total modified files: 1 Total included files: 0 [Ending INI file generating] [Starting patch-data generating] Patch engine initialization......
Well, it worked on my other PC, but the PC like title says never, i tried all to fix : DeskMini Two PCs : W10 22H2 x64 Program Version 2.6.4.1 [ Patch building session: 1 ] - [Starting INI file generating] Used MD5 comparision algorithm... Modified file: "O:\DownLd\B\Nouveau document texte.txt" Used Keyfile auto-detection method! => Keyfile: "\Nouveau document texte.txt" Total modified files: 1 Total included files: 0 [Ending INI file generating] [Starting patch-data generating] Patch engine initialization......
Well, it worked on my other PC, but the PC like title says never, i tried all to fix : DeskMini Program Version 2.6.4.1 [ Patch building session: 1 ] - [Starting INI file generating] Used MD5 comparision algorithm... Modified file: "O:\DownLd\B\Nouveau document texte.txt" Used Keyfile auto-detection method! => Keyfile: "\Nouveau document texte.txt" Total modified files: 1 Total included files: 0 [Ending INI file generating] [Starting patch-data generating] Patch engine initialization... Used engine:...
Hi, Sorry for the late answer, I've been both sick and very busy lately... Basically, most of the pointers are just object references. I've never done any PHP, but I guess they can be replaced by PHP objects. The only exception is the matching table that actually is a double keyed dictionnary of possible solutions. The first key is the position in the original file and the second key is the delta between the positions on the original and the new file. The pointers in the matching table can be replaced...
Hi, Sorry for the late answer, I've been both sick and very busy lately... Basically, most of the pointers are all object references. I've never done any PHP, but I guess they can be replaced by PHP objects. The only exception is the matching table that actually is a double keyed dictionnary of possible solutions. The first key is the position in the original file and the second key is the delta between the position on the original and the new file. The pointers within the matching table can be replaced...
Hi Jojo or anyone, I am migrating these codes into php in order to run it on the cloud. However, the lack of background knowledge make the task very difficult while converting the task done by pointers in C++ to php where no pointers at all. Can anyone give me a basic description of the algorithm used? Thanks a million in advance. Ted Hsieh
`Makefile` targets `jpatch` and `jpatd` do not build.
Hi, jpatch is now integrated in jdiff. If you create a link 'ln -s jdiff jpatch' or rename jdiff to jpatch, the program should behave as jdiff -u by default. Thank you for reporting this issue, I'll change the Makefile accordingly. Best regards, Joris
`Makefile` targets `jpatch` and `jpatd` do not build.
Thanks for your reply! Of course, we were waiting for almost 10 years and will wait more. I think my main problem in FileStreams, which requires for conversion to UTF, it became difficult due to many dependencies. Sisong also compiled his engine in Linux. I am not asking to add full support for unicode, I will do it myself, but I ask you to remake the code with filestreams so that there are unicode analogs of functions. Users love your jdiff engine because it sometimes gives better results in size...
Hi, Thank you for the info. This seems to be Windows related, so the difficulty will be to add Windows Unicode support without breaking the Linux compilation. I'll take a look at it, but don't expect a quick solution as I currently have not a lot of time I can devote to this. Best regards, Joris
Hello, All this questions and modified sources is actual for old version 0.81 I use latest CodeBlocks+MinGW 20. /1'st part - proper compiling/ I define: _LARGEFILE64_SOURCE but I see also: MINGW32 _FILE_OFFSET_BITS=64 Is I should to set the MINGW32 for 32 bit compiler (it's default in 32 bit version)? Is I should to set the _FILE_OFFSET_BITS=64 because it's marked in JDefs.h as: Default definitions (for GCC/Linux)? Is I should to set the _FILE_OFFSET_BITS=64 in x64 version of MINGW? /2'nd part -...
Hello, All this questions and modified sources is actual for old version 0.81 I use latest CodeBlocks+MinGW 20. /1'st part - proper compiling/ I define: _LARGEFILE64_SOURCE but I see also: MINGW32 _FILE_OFFSET_BITS=64 Is I should to set the MINGW32 for 32 bit compiler (it's default in 32 bit version)? Is I should to set the _FILE_OFFSET_BITS=64 because it's marked in JDefs.h as: Default definitions (for GCC/Linux)? Is I should to set the _FILE_OFFSET_BITS=64 in x64 version of MINGW? /2'nd part -...
Hello, All this questions and modified sources is actual for old version 0.81 I use latest CodeBlocks+MinGW 20. /1'st part - proper compiling/ I define: _LARGEFILE64_SOURCE but I see also: MINGW32 _FILE_OFFSET_BITS=64 Is I should to set the MINGW32 for 32 bit compiler (it's default in 32 bit version)? Is I should to set the _FILE_OFFSET_BITS=64 because it's marked in JDefs.h as: Default definitions (for GCC/Linux)? Is I should to set the _FILE_OFFSET_BITS=64 in x64 version of MINGW? /2'nd part -...
Hello, All this questions and modified sources is actual for old version 0.81 I use latest CodeBlocks+MinGW 20. /1'st part - proper compiling/ I define: _LARGEFILE64_SOURCE but I see also: MINGW32 _FILE_OFFSET_BITS=64 Is I should to set the MINGW32 for 32 bit compiler (it's default in 32 bit version)? Is I should to set the _FILE_OFFSET_BITS=64 because it's marked in JDefs.h as: Default definitions (for GCC/Linux)? Is I should to set the _FILE_OFFSET_BITS=64 in x64 version of MINGW? /2'nd part -...
Hello, All this questions and modified sources is actual for old version 0.81 I use latest CodeBlocks+MinGW 20. /1'st part - proper compiling/ I define: _LARGEFILE64_SOURCE but I see also: MINGW32 _FILE_OFFSET_BITS=64 Is I should to set the MINGW32 for 32 bit compiler (it's default in 32 bit version)? Is I should to set the _FILE_OFFSET_BITS=64 because it's marked in JDefs.h as: Default definitions (for GCC/Linux)? Is I should to set the _FILE_OFFSET_BITS=64 in x64 version of MINGW? /2'nd part -...
Memory Leak due to Incorrect Declaration of Destructor
085ac tuning internal parameters
085bl improved incemental scanning
085aw bugfix windows, incremental search
084c finalize release of intermediate version
084c finalize release of intermediate version
084b Imporve accuracy of -f/-ff/-p and -q options
083v Sequential files
083v Sequential files
083s Allow standard input & -s option
083t Integrate JPatcht
083r Dynamic Matching Table - Cleanup Todo
083r Dynamic Matching Table - Cleanup Todo
083s Allow standard input & -s option
083m refactor findahead and matchtable logic
v083d additional files
083j Review matchtable logic
083c
Burak Try to use also xdelta and hdiffpatch engines - in some cases each can have better speed and size results on various types of files.
Burak Try to use also xdelta and hdiffpatch engines - in some cases each can have better speed results on various files.
hello, I recompile the JojoDiff with mingw32 and mingw64 in code::blocks ide with compilator defines: _FILE_OFFSET_BITS _LARGEFILE64_SOURCE All works is fine but I see macroses: __MINGW32__ and _LARGESAMPLE My questions: - If I should define _LARGESAMPLE macros for x64 version for support 64-bit hash keys? If I should define __MINGW32__ macros for used mingw32 and what about mingw64 - I also should define this macros?
hello, I recompile the JojoDiff with mingw32 and mingw64 in code::blocks ide with compilator defines: _FILE_OFFSET_BITS _LARGEFILE64_SOURCE All works is fine but I see macroses: __MINGW32__ and _LARGESAMPLE My questions: - If I should define _LARGESAMPLE macros for x64 version for support 64-bit hash keys? If I should define __MINGW32__ macros for used mingw32 and what about mingw64 - I also should define this macros?
hello, I recompile the JojoDiff with mingw32 and mingw64 in code::blocks ide with compilator defines: _FILE_OFFSET_BITS _LARGEFILE64_SOURCE All works is fine but I see macroses: __MINGW32__ and _LARGESAMPLE My questions: - If I should define _LARGESAMPLE macros for x64 version and for support 64-bit hash keys? If I should define __MINGW32__ macros for used mingw32 and what about mingw64 - I also should define this macros?
Hi, I am trying to understand the way jojodiff works but I am no math genius. I using it to create incremental archive of my windows backup images. Now there are 2 vhd images, newer one is 1 month older. Each is 250 gb in size. I run jdiff -b image1.vhd image2.vhd patch-file The cpu is i7-4790 , it is powerfull, it has been nearly 2 days and it is still running. jdiff.exe has been reading up to now 5 TB , and saving up to 600mb to patch-file as task manager shows as follows. Why it is taking so long,...
Hello! Is the possible to add processing and applying paths and filenames with Unicode characters? F.e. this not works: jdiff.exe -b "c:\1\Restauração.txt" "c:\2\Restauração.txt" "C:\pd\Restauração.patch"
Hi Joris, Great project. I was wondering if you've considered re-licensing the project under LGPL (or an even less restrictive license)? I would like to incorporate the library in an Apache 2.0 licensed demonstration project, but this is not allowed at the moment. Cheers,
Hi Jacek, A reverse patch file can be created by reversing the input files, as in $ jdiff newfile oldfile reversepatchfile You can then reverse-patch as follows: $ jpatch newfile reversepatchfile oldfile Is that answer to your question ? If its unclear, or if you have a particular use case, please let me know. Best regards, Joris On 12 July 2017 at 16:52, Jacek juniorjpdj@users.sf.net wrote: The problem is I already have 2 binary files, similar but other. I'm not modifing files by myself. Esspecialy...
The problem is I already have 2 binary files, similar but other. I'm not modifing files by myself. Esspecialy windows isos. What about reverse patching? Is it possible to do?
Ji Jacek, BTRFS already does so when you create a snapshot. Best regards, Joris Heirbaut On 9 July 2017 at 19:34, Jacek juniorjpdj@users.sf.net wrote: Hi, I've been thinking about creating FUSE read-only filesystem which would show new file from original + patch, but I would need random access feature to make this work normally. Also was you thinking about creating library what would create seekable stream? It would be nice feature to eg. host updated or language patched files on webserver. Random...
Hi, I've been thinking about creating FUSE read-only filesystem which would show new file from original + patch, but I would need random access feature to make this work normally. Also was you thinking about creating library what would create seekable stream? It would be nice feature to eg. host updated or language patched files on webserver. I found your software is the best of opensource software to do this. I also found smartversion, but your have very similar patch file sizes. Also is it possible,...
Hi, I've been thinking about creating FUSE read-only filesystem which would show new file from original + patch, but I would need random access feature to make this work normally. Also was you thinking about creating library what would create seekable stream? It would be nice feature to eg. host updated or language patched files on webserver.
Does the jojodiff format contain any magic bytes to identify the file format?
Thanks for reply. I tried so: jdiff.exe -vv -b -m 524288 -s 1023 -min 32 -max 256...
Thanks for reply. I try so: jdiff.exe -vv -b -m 524288 -s 1023 -min 32 -max 256 "file1"...
Thanks for reply. I try so: jdiff.exe -vv -b -m 524288 -s 1023 -min 32 -max 256 "file1"...
Hi Paul, You may increase the -s switch to 1023, which should give a a memory use...
Hi. I'm trying to use the switch -s 128 to create a smaller patch and get an error...
Hi. I'm trying to use the switch -s 128 to create a smaller patch and get an error...
Hi. I'm trying to use the switch -s 128 to create a smaller patch and get an error...
Hi. I'm trying to use the switch -s 128 to create a smaller patch and get an error...
Hi. I'm trying to use the -s switch 128 to create a smaller patch and get an error...
Hello. I'm trying to use the -s switch 128 to create a smaller patch and get an error...
Hello Joris Heirbaut, Thank you for your prompt reply. I am sorry to say that our...
Hello, The software is licensed under GPLv3. I'll correct my mstake on the site....
Hello joheirba, Your solution works great! Can you please clarify the license of...
Hi, Thank you for the feedback. I've not been using jdiff on Windows for a long time...
I've got to the bottom of this - and actually it's not the fault of JDiff! It's just...
Hi! Thanks for a cool patching engine. It have very good diff algorithm (in some...
I used to rely on the diff & patch abilities of JDiff and JPatch, however I encountered...
Thank you for the comment - it's really important, I did not notice this aspect of...
Nice script ! You're right that a native implementation should be more robust. I...
Right, I even wrote an AWK script to automate that. Just thought that native implementation...
Hello, You might also use the "-v" option: this will show you the number of equal...
Hi, I'm thinking about an additional way of usage of jdiff. Let's say we have some...
Thank you for your appreciation. JDiff nicely integrates with other commandline tools...
Great program, much appreciated. May I recommend though to add an option in jptch...