Differences From:
File
src/checkin.c
part of check-in
[ac1dea8eac]
- Fix a bug in the "rm" command. Delete an obsolete documentation file.
by
drh on
2007-07-24 13:00:19.
[view]
To:
File
src/checkin.c
part of check-in
[5c3e87171a]
- Fix a problem in the commit logic that caused it to ignore merge
changes. Add another test to the commit to detect future problems
of a similar nature.
by
drh on
2007-08-01 12:17:14.
[view]
@@ -271,9 +271,9 @@
zDate = db_text(0, "SELECT datetime('now')");
zDate[10] = 'T';
blob_appendf(&manifest, "D %s\n", zDate);
db_prepare(&q,
- "SELECT pathname, uuid FROM vfile JOIN blob USING (rid)"
+ "SELECT pathname, uuid FROM vfile JOIN blob ON vfile.mrid=blob.rid"
" WHERE NOT deleted AND vfile.vid=%d"
" ORDER BY 1", vid);
while( db_step(&q)==SQLITE_ROW ){
const char *zName = db_column_text(&q, 0);
@@ -322,8 +322,12 @@
/* Verify that the tree checksum is unchanged */
vfile_aggregate_checksum_repository(nvid, &cksum2);
if( blob_compare(&cksum1, &cksum2) ){
fossil_panic("tree checksum does not match repository after commit");
+ }
+ vfile_aggregate_checksum_manifest(nvid, &cksum2);
+ if( blob_compare(&cksum1, &cksum2) ){
+ fossil_panic("tree checksum does not match manifest after commit");
}
vfile_aggregate_checksum_disk(nvid, &cksum2);
if( blob_compare(&cksum1, &cksum2) ){
fossil_panic("tree checksums before and after commit do not match");