Fossil SCM

Fix working tree manifest generation/deletion to handle all cases properly.

jan 2016-08-03 15:01 jan-manifest-tags
Commit 81bf21bd6374e076211e1c95156a57f3d4990bbb
1 file changed +10 -8
+10 -8
--- src/checkout.c
+++ src/checkout.c
@@ -143,22 +143,24 @@
143143
flg = db_get_manifest_setting();
144144
145145
if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){
146146
blob_zero(&manifest);
147147
content_get(vid, &manifest);
148
- zManFile = mprintf("%smanifest", g.zLocalRoot);
149148
blob_zero(&hash);
150149
sha1sum_blob(&manifest, &hash);
151150
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);
159155
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
+ }
160162
}
161163
if( flg & MFESTFLG_UUID ){
162164
zManFile = mprintf("%smanifest.uuid", g.zLocalRoot);
163165
blob_append(&hash, "\n", 1);
164166
blob_write_to_file(&hash, zManFile);
165167
--- 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

Keyboard Shortcuts

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