Fossil SCM

Have test-delta-apply fail fatally if application of the input delta fails, rather that write out a zero-byte file. Reported off-list by Dan Mestas.

stephan 2026-10-12 08:16 UTC trunk
Commit 54a0b17bb1ec14fc404578b8110fdea428fb95ef41c4478c4073a695794febf2
1 file changed +3 -1
+3 -1
--- src/deltacmd.c
+++ src/deltacmd.c
@@ -159,11 +159,13 @@
159159
}
160160
if( blob_read_from_file(&delta, g.argv[3], ExtFILE)<0 ){
161161
fossil_fatal("cannot read %s", g.argv[3]);
162162
}
163163
blob_init(&target, 0, 0);
164
- blob_delta_apply(&orig, &delta, &target);
164
+ if( blob_delta_apply(&orig, &delta, &target) < 0 ){
165
+ fossil_fatal("Delta application failed.");
166
+ }
165167
if( blob_write_to_file(&target, g.argv[4])<(int)blob_size(&target) ){
166168
fossil_fatal("cannot write %s", g.argv[4]);
167169
}
168170
blob_reset(&orig);
169171
blob_reset(&target);
170172
--- src/deltacmd.c
+++ src/deltacmd.c
@@ -159,11 +159,13 @@
159 }
160 if( blob_read_from_file(&delta, g.argv[3], ExtFILE)<0 ){
161 fossil_fatal("cannot read %s", g.argv[3]);
162 }
163 blob_init(&target, 0, 0);
164 blob_delta_apply(&orig, &delta, &target);
 
 
165 if( blob_write_to_file(&target, g.argv[4])<(int)blob_size(&target) ){
166 fossil_fatal("cannot write %s", g.argv[4]);
167 }
168 blob_reset(&orig);
169 blob_reset(&target);
170
--- src/deltacmd.c
+++ src/deltacmd.c
@@ -159,11 +159,13 @@
159 }
160 if( blob_read_from_file(&delta, g.argv[3], ExtFILE)<0 ){
161 fossil_fatal("cannot read %s", g.argv[3]);
162 }
163 blob_init(&target, 0, 0);
164 if( blob_delta_apply(&orig, &delta, &target) < 0 ){
165 fossil_fatal("Delta application failed.");
166 }
167 if( blob_write_to_file(&target, g.argv[4])<(int)blob_size(&target) ){
168 fossil_fatal("cannot write %s", g.argv[4]);
169 }
170 blob_reset(&orig);
171 blob_reset(&target);
172

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button