Fossil SCM
Fix working tree manifest generation/deletion to handle all cases properly.
Commit
81bf21bd6374e076211e1c95156a57f3d4990bbb
Parent
af574ca3ad58c61…
1 file changed
+10
-8
+10
-8
| --- src/checkout.c | ||
| +++ src/checkout.c | ||
| @@ -143,22 +143,24 @@ | ||
| 143 | 143 | flg = db_get_manifest_setting(); |
| 144 | 144 | |
| 145 | 145 | if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){ |
| 146 | 146 | blob_zero(&manifest); |
| 147 | 147 | content_get(vid, &manifest); |
| 148 | - zManFile = mprintf("%smanifest", g.zLocalRoot); | |
| 149 | 148 | blob_zero(&hash); |
| 150 | 149 | sha1sum_blob(&manifest, &hash); |
| 151 | 150 | 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 | - } | |
| 151 | + } | |
| 152 | + if( flg & MFESTFLG_RAW ){ | |
| 153 | + zManFile = mprintf("%smanifest", g.zLocalRoot); | |
| 154 | + blob_write_to_file(&manifest, zManFile); | |
| 159 | 155 | free(zManFile); |
| 156 | + }else{ | |
| 157 | + if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest'") ){ | |
| 158 | + zManFile = mprintf("%smanifest", g.zLocalRoot); | |
| 159 | + file_delete(zManFile); | |
| 160 | + free(zManFile); | |
| 161 | + } | |
| 160 | 162 | } |
| 161 | 163 | if( flg & MFESTFLG_UUID ){ |
| 162 | 164 | zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); |
| 163 | 165 | blob_append(&hash, "\n", 1); |
| 164 | 166 | blob_write_to_file(&hash, zManFile); |
| 165 | 167 |
| --- src/checkout.c | |
| +++ src/checkout.c | |
| @@ -143,22 +143,24 @@ | |
| 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 |
| --- src/checkout.c | |
| +++ src/checkout.c | |
| @@ -143,22 +143,24 @@ | |
| 143 | flg = db_get_manifest_setting(); |
| 144 | |
| 145 | if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){ |
| 146 | blob_zero(&manifest); |
| 147 | content_get(vid, &manifest); |
| 148 | blob_zero(&hash); |
| 149 | sha1sum_blob(&manifest, &hash); |
| 150 | sterilize_manifest(&manifest); |
| 151 | } |
| 152 | if( flg & MFESTFLG_RAW ){ |
| 153 | zManFile = mprintf("%smanifest", g.zLocalRoot); |
| 154 | blob_write_to_file(&manifest, zManFile); |
| 155 | free(zManFile); |
| 156 | }else{ |
| 157 | if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest'") ){ |
| 158 | zManFile = mprintf("%smanifest", g.zLocalRoot); |
| 159 | file_delete(zManFile); |
| 160 | free(zManFile); |
| 161 | } |
| 162 | } |
| 163 | if( flg & MFESTFLG_UUID ){ |
| 164 | zManFile = mprintf("%smanifest.uuid", g.zLocalRoot); |
| 165 | blob_append(&hash, "\n", 1); |
| 166 | blob_write_to_file(&hash, zManFile); |
| 167 |