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.

drh 2013-10-08 13:51 trunk merge
Commit e17e2174a93a8b66eb9c9138cf25c1acd6916250
2 files changed +20 -18 +20 -18
+20 -18
--- src/checkin.c
+++ src/checkin.c
@@ -1086,28 +1086,30 @@
10861086
nFBcard++;
10871087
}
10881088
if( p->zMimetype && p->zMimetype[0] ){
10891089
blob_appendf(pOut, "N %F\n", p->zMimetype);
10901090
}
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);
11091111
11101112
db_prepare(&q,
11111113
"SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge"
11121114
" FROM vmerge, blob"
11131115
" WHERE (vmerge.id=-1 OR vmerge.id=-2)"
11141116
--- 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 @@
10861086
nFBcard++;
10871087
}
10881088
if( p->zMimetype && p->zMimetype[0] ){
10891089
blob_appendf(pOut, "N %F\n", p->zMimetype);
10901090
}
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);
11091111
11101112
db_prepare(&q,
11111113
"SELECT CASE vmerge.id WHEN -1 THEN '+' ELSE '-' END || blob.uuid, merge"
11121114
" FROM vmerge, blob"
11131115
" WHERE (vmerge.id=-1 OR vmerge.id=-2)"
11141116
--- 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

Keyboard Shortcuts

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