Fossil SCM
Handle the three manifest files separately so manifest generation reconfigurations can be handled properly.
Commit
dacecc79aa591b645c973b83a0554980b93f545e
Parent
46b9adb70fc21d4…
1 file changed
+33
-34
+33
-34
| --- src/checkout.c | ||
| +++ src/checkout.c | ||
| @@ -139,55 +139,54 @@ | ||
| 139 | 139 | Blob hash; |
| 140 | 140 | Blob taglist; |
| 141 | 141 | int flg; |
| 142 | 142 | |
| 143 | 143 | flg = db_get_manifest_setting(); |
| 144 | - if( flg ){ | |
| 145 | - if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){ | |
| 146 | - blob_zero(&manifest); | |
| 147 | - content_get(vid, &manifest); | |
| 148 | - zManFile = mprintf("%smanifest", g.zLocalRoot); | |
| 149 | - blob_zero(&hash); | |
| 150 | - sha1sum_blob(&manifest, &hash); | |
| 151 | - sterilize_manifest(&manifest); | |
| 152 | - if( flg & MFESTFLG_RAW ){ | |
| 153 | - blob_write_to_file(&manifest, zManFile); | |
| 154 | - } | |
| 155 | - free(zManFile); | |
| 156 | - } | |
| 157 | - if( flg & MFESTFLG_UUID ){ | |
| 158 | - zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); | |
| 159 | - blob_append(&hash, "\n", 1); | |
| 160 | - blob_write_to_file(&hash, zManFile); | |
| 161 | - free(zManFile); | |
| 162 | - blob_reset(&hash); | |
| 163 | - } | |
| 164 | - if( flg & MFESTFLG_TAGS ){ | |
| 165 | - blob_zero(&taglist); | |
| 166 | - zManFile = mprintf("%smanifest.tags", g.zLocalRoot); | |
| 167 | - get_checkin_taglist(vid, &taglist); | |
| 168 | - blob_write_to_file(&taglist, zManFile); | |
| 169 | - free(zManFile); | |
| 170 | - } | |
| 171 | - }else{ | |
| 172 | - if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest'") ){ | |
| 173 | - zManFile = mprintf("%smanifest", g.zLocalRoot); | |
| 174 | - file_delete(zManFile); | |
| 175 | - free(zManFile); | |
| 176 | - } | |
| 144 | + | |
| 145 | + if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){ | |
| 146 | + blob_zero(&manifest); | |
| 147 | + content_get(vid, &manifest); | |
| 148 | + zManFile = mprintf("%smanifest", g.zLocalRoot); | |
| 149 | + blob_zero(&hash); | |
| 150 | + sha1sum_blob(&manifest, &hash); | |
| 151 | + sterilize_manifest(&manifest); | |
| 152 | + if( flg & MFESTFLG_RAW ){ | |
| 153 | + blob_write_to_file(&manifest, zManFile); | |
| 154 | + }else{ | |
| 155 | + if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest'") ){ | |
| 156 | + file_delete(zManFile); | |
| 157 | + } | |
| 158 | + } | |
| 159 | + free(zManFile); | |
| 160 | + } | |
| 161 | + if( flg & MFESTFLG_UUID ){ | |
| 162 | + zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); | |
| 163 | + blob_append(&hash, "\n", 1); | |
| 164 | + blob_write_to_file(&hash, zManFile); | |
| 165 | + free(zManFile); | |
| 166 | + blob_reset(&hash); | |
| 167 | + }else{ | |
| 177 | 168 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.uuid'") ){ |
| 178 | 169 | zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); |
| 179 | 170 | file_delete(zManFile); |
| 180 | 171 | free(zManFile); |
| 181 | 172 | } |
| 173 | + } | |
| 174 | + if( flg & MFESTFLG_TAGS ){ | |
| 175 | + blob_zero(&taglist); | |
| 176 | + zManFile = mprintf("%smanifest.tags", g.zLocalRoot); | |
| 177 | + get_checkin_taglist(vid, &taglist); | |
| 178 | + blob_write_to_file(&taglist, zManFile); | |
| 179 | + free(zManFile); | |
| 180 | + blob_reset(&taglist); | |
| 181 | + }else{ | |
| 182 | 182 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.tags'") ){ |
| 183 | 183 | zManFile = mprintf("%smanifest.tags", g.zLocalRoot); |
| 184 | 184 | file_delete(zManFile); |
| 185 | 185 | free(zManFile); |
| 186 | 186 | } |
| 187 | 187 | } |
| 188 | - | |
| 189 | 188 | } |
| 190 | 189 | |
| 191 | 190 | void get_checkin_taglist(int rid, Blob *pOut){ |
| 192 | 191 | char *zTags; |
| 193 | 192 | Stmt stmt; |
| 194 | 193 |
| --- src/checkout.c | |
| +++ src/checkout.c | |
| @@ -139,55 +139,54 @@ | |
| 139 | Blob hash; |
| 140 | Blob taglist; |
| 141 | int flg; |
| 142 | |
| 143 | flg = db_get_manifest_setting(); |
| 144 | if( flg ){ |
| 145 | if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){ |
| 146 | blob_zero(&manifest); |
| 147 | content_get(vid, &manifest); |
| 148 | zManFile = mprintf("%smanifest", g.zLocalRoot); |
| 149 | blob_zero(&hash); |
| 150 | sha1sum_blob(&manifest, &hash); |
| 151 | sterilize_manifest(&manifest); |
| 152 | if( flg & MFESTFLG_RAW ){ |
| 153 | blob_write_to_file(&manifest, zManFile); |
| 154 | } |
| 155 | free(zManFile); |
| 156 | } |
| 157 | if( flg & MFESTFLG_UUID ){ |
| 158 | zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); |
| 159 | blob_append(&hash, "\n", 1); |
| 160 | blob_write_to_file(&hash, zManFile); |
| 161 | free(zManFile); |
| 162 | blob_reset(&hash); |
| 163 | } |
| 164 | if( flg & MFESTFLG_TAGS ){ |
| 165 | blob_zero(&taglist); |
| 166 | zManFile = mprintf("%smanifest.tags", g.zLocalRoot); |
| 167 | get_checkin_taglist(vid, &taglist); |
| 168 | blob_write_to_file(&taglist, zManFile); |
| 169 | free(zManFile); |
| 170 | } |
| 171 | }else{ |
| 172 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest'") ){ |
| 173 | zManFile = mprintf("%smanifest", g.zLocalRoot); |
| 174 | file_delete(zManFile); |
| 175 | free(zManFile); |
| 176 | } |
| 177 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.uuid'") ){ |
| 178 | zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); |
| 179 | file_delete(zManFile); |
| 180 | free(zManFile); |
| 181 | } |
| 182 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.tags'") ){ |
| 183 | zManFile = mprintf("%smanifest.tags", g.zLocalRoot); |
| 184 | file_delete(zManFile); |
| 185 | free(zManFile); |
| 186 | } |
| 187 | } |
| 188 | |
| 189 | } |
| 190 | |
| 191 | void get_checkin_taglist(int rid, Blob *pOut){ |
| 192 | char *zTags; |
| 193 | Stmt stmt; |
| 194 |
| --- src/checkout.c | |
| +++ src/checkout.c | |
| @@ -139,55 +139,54 @@ | |
| 139 | Blob hash; |
| 140 | Blob taglist; |
| 141 | int flg; |
| 142 | |
| 143 | flg = db_get_manifest_setting(); |
| 144 | |
| 145 | if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){ |
| 146 | blob_zero(&manifest); |
| 147 | content_get(vid, &manifest); |
| 148 | zManFile = mprintf("%smanifest", g.zLocalRoot); |
| 149 | blob_zero(&hash); |
| 150 | sha1sum_blob(&manifest, &hash); |
| 151 | sterilize_manifest(&manifest); |
| 152 | if( flg & MFESTFLG_RAW ){ |
| 153 | blob_write_to_file(&manifest, zManFile); |
| 154 | }else{ |
| 155 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest'") ){ |
| 156 | file_delete(zManFile); |
| 157 | } |
| 158 | } |
| 159 | free(zManFile); |
| 160 | } |
| 161 | if( flg & MFESTFLG_UUID ){ |
| 162 | zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); |
| 163 | blob_append(&hash, "\n", 1); |
| 164 | blob_write_to_file(&hash, zManFile); |
| 165 | free(zManFile); |
| 166 | blob_reset(&hash); |
| 167 | }else{ |
| 168 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.uuid'") ){ |
| 169 | zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); |
| 170 | file_delete(zManFile); |
| 171 | free(zManFile); |
| 172 | } |
| 173 | } |
| 174 | if( flg & MFESTFLG_TAGS ){ |
| 175 | blob_zero(&taglist); |
| 176 | zManFile = mprintf("%smanifest.tags", g.zLocalRoot); |
| 177 | get_checkin_taglist(vid, &taglist); |
| 178 | blob_write_to_file(&taglist, zManFile); |
| 179 | free(zManFile); |
| 180 | blob_reset(&taglist); |
| 181 | }else{ |
| 182 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.tags'") ){ |
| 183 | zManFile = mprintf("%smanifest.tags", g.zLocalRoot); |
| 184 | file_delete(zManFile); |
| 185 | free(zManFile); |
| 186 | } |
| 187 | } |
| 188 | } |
| 189 | |
| 190 | void get_checkin_taglist(int rid, Blob *pOut){ |
| 191 | char *zTags; |
| 192 | Stmt stmt; |
| 193 |