# cat textfile_v1.0.txt AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG # cat textfile_v1.1.txt AAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD EEEEEEEEEEEEEEEEEEEEEEZEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG # cat textfile_v1.2.txt AAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD EEEEEEEEEEEEEEEEEEEEEEZEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG # cat textfile_v1.3.txt AAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBHBBBBBBBB CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD EEEEEEEEEEEEEEEEEEEEEEZEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG # diff -e textfile_v1.0.txt textfile_v1.1.txt > textfile_v1.1_delta.txt # cat textfile_v1.1_delta.txt 5c EEEEEEEEEEEEEEEEEEEEEEZEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE . 1c AAAAAAAAAAAAAAAAXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA . # diff -e textfile_v1.1.txt textfile_v1.2.txt > textfile_v1.2_delta.txt # cat textfile_v1.2_delta.txt 7c SGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG . 3a . # diff -e textfile_v1.2.txt textfile_v1.3.txt > textfile_v1.3_delta.txt # cat textfile_v1.3_delta.txt 7c FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF . 2c BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBHBBBBBBBB . ############################################################## # ---> ed version 1.13 <---- # # Reconstruct v1.3 of the file using version 1.0 of the file # # and applying the v1.1, v1.2 & v1.3 delta files # ############################################################## # /home/userabc/ed/ed-1.13/ed -V GNU ed 1.13 Copyright (C) 1994 Andrew L. Moore. Copyright (C) 2016 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. # (cat textfile_v1.1_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.13/ed - textfile_v1.0.txt > textfile_v1.1_reconstructed.txt # (cat textfile_v1.2_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.13/ed - textfile_v1.1_reconstructed.txt > textfile_v1.2_reconstructed.txt # (cat textfile_v1.3_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.13/ed - textfile_v1.2_reconstructed.txt > textfile_v1.3_reconstructed.txt # # diff textfile_v1.3.txt textfile_v1.3_reconstructed.txt # >>>>> GREAT - successfully reconstructed v1.3 using the full v1.0 and applying the v1.1, v1.2 & v1.3 deltas ############################################################## # ---> ed version 1.14 <---- # # Reconstruct v1.3 of the file using version 1.0 of the file # # and applying the v1.1, v1.2 & v1.3 delta files # ############################################################## # /home/userabc/ed/ed-1.14/ed -V GNU ed 1.14 Copyright (C) 1994 Andrew L. Moore. Copyright (C) 2017 Antonio Diaz Diaz. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. # (cat textfile_v1.1_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.14/ed - textfile_v1.0.txt > textfile_v1.1_reconstructed.txt # diff textfile_v1.1.txt textfile_v1.1_reconstructed.txt 7a8 > ? # (cat textfile_v1.2_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.14/ed - textfile_v1.1_reconstructed.txt > textfile_v1.2_reconstructed.txt # diff textfile_v1.2.txt textfile_v1.2_reconstructed.txt 8a9,10 > ? > ? # (cat textfile_v1.3_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.14/ed - textfile_v1.2_reconstructed.txt > textfile_v1.3_reconstructed.txt # diff textfile_v1.3.txt textfile_v1.3_reconstructed.txt 8a9,11 > ? > ? > ? >>>>> NOT GOOD - ed v1.14 corrupts the reconstructions using the full v1.0 and applying the v1.1, v1.2 & v1.3 deltas ############################################################## # ---> ed version 1.19 <---- # # Reconstruct v1.3 of the file using version 1.0 of the file # # and applying the v1.1, v1.2 & v1.3 delta files # ############################################################## # /home/userabc/ed/ed-1.19/ed -V GNU ed 1.19 Copyright (C) 1994 Andrew L. Moore. Copyright (C) 2023 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. # # (cat textfile_v1.1_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.19/ed - textfile_v1.0.txt > textfile_v1.1_reconstructed.txt # diff textfile_v1.1.txt textfile_v1.1_reconstructed.txt 7a8 > ? # (cat textfile_v1.2_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.19/ed - textfile_v1.1_reconstructed.txt > textfile_v1.2_reconstructed.txt # diff textfile_v1.2.txt textfile_v1.2_reconstructed.txt 8a9,10 > ? > ? # (cat textfile_v1.3_delta.txt ; echo '1,$p') | /home/userabc/ed/ed-1.19/ed - textfile_v1.2_reconstructed.txt > textfile_v1.3_reconstructed.txt # diff textfile_v1.3.txt textfile_v1.3_reconstructed.txt 8a9,11 > ? > ? > ? >>>>> ALSO NOT GOOD - latest ed v1.19 still corrupts the reconstructions using the full v1.0 and applying the v1.1, v1.2 & v1.3 deltas