Ticket UUID: | 986daabbc4b969dd22dc93d183b566f7faf004f9 | ||
Title: | checkin command lost merge information if --force option used. | ||
Status: | Open | Type: | Code_Defect |
Severity: | Cosmetic | Priority: | |
Subsystem: | Resolution: | ||
Last Modified: | 2010-10-19 06:48:59 | ||
Version Found In: | [f1d309ccd7] 2010-08-29 00:21:09 | ||
Description & Comments: | |||
version [f1d309ccd7] or later, checkin --force option disable clock skew alarm. But if this option specified, checkin_cmd() skip append merged IDs to manifest's "P" card. It must not skip collect IDs from vmerge table even forceFlag is set. --- ../7954ccba68/src/checkin.c 2010-10-19 00:28:10.437308800 UTC +++ src/checkin.c 2010-10-19 15:25:37.979195200 UTC @@ -826,23 +826,26 @@ db_finalize(&q); zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", vid); blob_appendf(&manifest, "P %s", zUuid); - - if( !forceFlag ){ - checkin_verify_younger(vid, zUuid, zDate); - db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=:id"); - db_bind_int(&q2, ":id", 0); - while( db_step(&q2)==SQLITE_ROW ){ - int mid = db_column_int(&q2, 0); - if( !g.markPrivate && content_is_private(mid) ) continue; - zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); - if( zUuid ){ - blob_appendf(&manifest, " %s", zUuid); - checkin_verify_younger(mid, zUuid, zDate); - free(zUuid); - } - } - db_finalize(&q2); - } + if( !forceFlag ){ + checkin_verify_younger(vid, zUuid, zDate); + } + + db_prepare(&q2, "SELECT merge FROM vmerge WHERE id=:id"); + db_bind_int(&q2, ":id", 0); + while( db_step(&q2)==SQLITE_ROW ){ + int mid = db_column_int(&q2, 0); + if( !g.markPrivate && content_is_private(mid) ) continue; + zUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); + if( zUuid ){ + blob_appendf(&manifest, " %s", zUuid); + if( !forceFlag ){ + checkin_verify_younger(mid, zUuid, zDate); + } + free(zUuid); + } + } + db_finalize(&q2); blob_appendf(&manifest, "\n"); blob_appendf(&manifest, "R %b\n", &cksum1); |