Fossil SCM
If the ".fslckout" file gets confused about the RID of the current checkout, still generate a valid manifest, only without the "P" record.
Commit
e17e2174a93a8b66eb9c9138cf25c1acd6916250
Parent
fe76ad5567cfba1…
2 files changed
+20
-18
+20
-18
+20
-18
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -1086,28 +1086,30 @@ | ||
| 1086 | 1086 | nFBcard++; |
| 1087 | 1087 | } |
| 1088 | 1088 | if( p->zMimetype && p->zMimetype[0] ){ |
| 1089 | 1089 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 1090 | 1090 | } |
| 1091 | - blob_appendf(pOut, "P %s", zParentUuid); | |
| 1092 | - if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); | |
| 1093 | - free(zParentUuid); | |
| 1094 | - db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); | |
| 1095 | - while( db_step(&q)==SQLITE_ROW ){ | |
| 1096 | - char *zMergeUuid; | |
| 1097 | - int mid = db_column_int(&q, 0); | |
| 1098 | - if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; | |
| 1099 | - zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); | |
| 1100 | - if( zMergeUuid ){ | |
| 1101 | - blob_appendf(pOut, " %s", zMergeUuid); | |
| 1102 | - if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); | |
| 1103 | - free(zMergeUuid); | |
| 1104 | - } | |
| 1105 | - } | |
| 1106 | - db_finalize(&q); | |
| 1107 | - free(zDate); | |
| 1108 | - blob_appendf(pOut, "\n"); | |
| 1091 | + if( zParentUuid ){ | |
| 1092 | + blob_appendf(pOut, "P %s", zParentUuid); | |
| 1093 | + if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); | |
| 1094 | + free(zParentUuid); | |
| 1095 | + db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); | |
| 1096 | + while( db_step(&q)==SQLITE_ROW ){ | |
| 1097 | + char *zMergeUuid; | |
| 1098 | + int mid = db_column_int(&q, 0); | |
| 1099 | + if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; | |
| 1100 | + zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); | |
| 1101 | + if( zMergeUuid ){ | |
| 1102 | + blob_appendf(pOut, " %s", zMergeUuid); | |
| 1103 | + if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); | |
| 1104 | + free(zMergeUuid); | |
| 1105 | + } | |
| 1106 | + } | |
| 1107 | + db_finalize(&q); | |
| 1108 | + blob_appendf(pOut, "\n"); | |
| 1109 | + } | |
| 1110 | + free(zDate); | |
| 1109 | 1111 | |
| 1110 | 1112 | db_prepare(&q, |
| 1111 | 1113 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge" |
| 1112 | 1114 | " FROM vmerge, blob" |
| 1113 | 1115 | " WHERE (vmerge.id=-1 OR vmerge.id=-2)" |
| 1114 | 1116 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1086,28 +1086,30 @@ | |
| 1086 | nFBcard++; |
| 1087 | } |
| 1088 | if( p->zMimetype && p->zMimetype[0] ){ |
| 1089 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 1090 | } |
| 1091 | blob_appendf(pOut, "P %s", zParentUuid); |
| 1092 | if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); |
| 1093 | free(zParentUuid); |
| 1094 | db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); |
| 1095 | while( db_step(&q)==SQLITE_ROW ){ |
| 1096 | char *zMergeUuid; |
| 1097 | int mid = db_column_int(&q, 0); |
| 1098 | if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; |
| 1099 | zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); |
| 1100 | if( zMergeUuid ){ |
| 1101 | blob_appendf(pOut, " %s", zMergeUuid); |
| 1102 | if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); |
| 1103 | free(zMergeUuid); |
| 1104 | } |
| 1105 | } |
| 1106 | db_finalize(&q); |
| 1107 | free(zDate); |
| 1108 | blob_appendf(pOut, "\n"); |
| 1109 | |
| 1110 | db_prepare(&q, |
| 1111 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge" |
| 1112 | " FROM vmerge, blob" |
| 1113 | " WHERE (vmerge.id=-1 OR vmerge.id=-2)" |
| 1114 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1086,28 +1086,30 @@ | |
| 1086 | nFBcard++; |
| 1087 | } |
| 1088 | if( p->zMimetype && p->zMimetype[0] ){ |
| 1089 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 1090 | } |
| 1091 | if( zParentUuid ){ |
| 1092 | blob_appendf(pOut, "P %s", zParentUuid); |
| 1093 | if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); |
| 1094 | free(zParentUuid); |
| 1095 | db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); |
| 1096 | while( db_step(&q)==SQLITE_ROW ){ |
| 1097 | char *zMergeUuid; |
| 1098 | int mid = db_column_int(&q, 0); |
| 1099 | if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; |
| 1100 | zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); |
| 1101 | if( zMergeUuid ){ |
| 1102 | blob_appendf(pOut, " %s", zMergeUuid); |
| 1103 | if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); |
| 1104 | free(zMergeUuid); |
| 1105 | } |
| 1106 | } |
| 1107 | db_finalize(&q); |
| 1108 | blob_appendf(pOut, "\n"); |
| 1109 | } |
| 1110 | free(zDate); |
| 1111 | |
| 1112 | db_prepare(&q, |
| 1113 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge" |
| 1114 | " FROM vmerge, blob" |
| 1115 | " WHERE (vmerge.id=-1 OR vmerge.id=-2)" |
| 1116 |
+20
-18
| --- src/checkin.c | ||
| +++ src/checkin.c | ||
| @@ -1086,28 +1086,30 @@ | ||
| 1086 | 1086 | nFBcard++; |
| 1087 | 1087 | } |
| 1088 | 1088 | if( p->zMimetype && p->zMimetype[0] ){ |
| 1089 | 1089 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 1090 | 1090 | } |
| 1091 | - blob_appendf(pOut, "P %s", zParentUuid); | |
| 1092 | - if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); | |
| 1093 | - free(zParentUuid); | |
| 1094 | - db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); | |
| 1095 | - while( db_step(&q)==SQLITE_ROW ){ | |
| 1096 | - char *zMergeUuid; | |
| 1097 | - int mid = db_column_int(&q, 0); | |
| 1098 | - if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; | |
| 1099 | - zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); | |
| 1100 | - if( zMergeUuid ){ | |
| 1101 | - blob_appendf(pOut, " %s", zMergeUuid); | |
| 1102 | - if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); | |
| 1103 | - free(zMergeUuid); | |
| 1104 | - } | |
| 1105 | - } | |
| 1106 | - db_finalize(&q); | |
| 1107 | - free(zDate); | |
| 1108 | - blob_appendf(pOut, "\n"); | |
| 1091 | + if( zParentUuid ){ | |
| 1092 | + blob_appendf(pOut, "P %s", zParentUuid); | |
| 1093 | + if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); | |
| 1094 | + free(zParentUuid); | |
| 1095 | + db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); | |
| 1096 | + while( db_step(&q)==SQLITE_ROW ){ | |
| 1097 | + char *zMergeUuid; | |
| 1098 | + int mid = db_column_int(&q, 0); | |
| 1099 | + if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; | |
| 1100 | + zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); | |
| 1101 | + if( zMergeUuid ){ | |
| 1102 | + blob_appendf(pOut, " %s", zMergeUuid); | |
| 1103 | + if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); | |
| 1104 | + free(zMergeUuid); | |
| 1105 | + } | |
| 1106 | + } | |
| 1107 | + db_finalize(&q); | |
| 1108 | + blob_appendf(pOut, "\n"); | |
| 1109 | + } | |
| 1110 | + free(zDate); | |
| 1109 | 1111 | |
| 1110 | 1112 | db_prepare(&q, |
| 1111 | 1113 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge" |
| 1112 | 1114 | " FROM vmerge, blob" |
| 1113 | 1115 | " WHERE (vmerge.id=-1 OR vmerge.id=-2)" |
| 1114 | 1116 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1086,28 +1086,30 @@ | |
| 1086 | nFBcard++; |
| 1087 | } |
| 1088 | if( p->zMimetype && p->zMimetype[0] ){ |
| 1089 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 1090 | } |
| 1091 | blob_appendf(pOut, "P %s", zParentUuid); |
| 1092 | if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); |
| 1093 | free(zParentUuid); |
| 1094 | db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); |
| 1095 | while( db_step(&q)==SQLITE_ROW ){ |
| 1096 | char *zMergeUuid; |
| 1097 | int mid = db_column_int(&q, 0); |
| 1098 | if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; |
| 1099 | zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); |
| 1100 | if( zMergeUuid ){ |
| 1101 | blob_appendf(pOut, " %s", zMergeUuid); |
| 1102 | if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); |
| 1103 | free(zMergeUuid); |
| 1104 | } |
| 1105 | } |
| 1106 | db_finalize(&q); |
| 1107 | free(zDate); |
| 1108 | blob_appendf(pOut, "\n"); |
| 1109 | |
| 1110 | db_prepare(&q, |
| 1111 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge" |
| 1112 | " FROM vmerge, blob" |
| 1113 | " WHERE (vmerge.id=-1 OR vmerge.id=-2)" |
| 1114 |
| --- src/checkin.c | |
| +++ src/checkin.c | |
| @@ -1086,28 +1086,30 @@ | |
| 1086 | nFBcard++; |
| 1087 | } |
| 1088 | if( p->zMimetype && p->zMimetype[0] ){ |
| 1089 | blob_appendf(pOut, "N %F\n", p->zMimetype); |
| 1090 | } |
| 1091 | if( zParentUuid ){ |
| 1092 | blob_appendf(pOut, "P %s", zParentUuid); |
| 1093 | if( p->verifyDate ) checkin_verify_younger(vid, zParentUuid, zDate); |
| 1094 | free(zParentUuid); |
| 1095 | db_prepare(&q, "SELECT merge FROM vmerge WHERE id=0 OR id<-2"); |
| 1096 | while( db_step(&q)==SQLITE_ROW ){ |
| 1097 | char *zMergeUuid; |
| 1098 | int mid = db_column_int(&q, 0); |
| 1099 | if( (!g.markPrivate && content_is_private(mid)) || (mid == vid) ) continue; |
| 1100 | zMergeUuid = db_text(0, "SELECT uuid FROM blob WHERE rid=%d", mid); |
| 1101 | if( zMergeUuid ){ |
| 1102 | blob_appendf(pOut, " %s", zMergeUuid); |
| 1103 | if( p->verifyDate ) checkin_verify_younger(mid, zMergeUuid, zDate); |
| 1104 | free(zMergeUuid); |
| 1105 | } |
| 1106 | } |
| 1107 | db_finalize(&q); |
| 1108 | blob_appendf(pOut, "\n"); |
| 1109 | } |
| 1110 | free(zDate); |
| 1111 | |
| 1112 | db_prepare(&q, |
| 1113 | "SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge" |
| 1114 | " FROM vmerge, blob" |
| 1115 | " WHERE (vmerge.id=-1 OR vmerge.id=-2)" |
| 1116 |