Fossil SCM

Handle the three manifest files separately so manifest generation reconfigurations can be handled properly.

jan 2016-01-04 02:54 jan-manifest-tags
Commit dacecc79aa591b645c973b83a0554980b93f545e
1 file changed +33 -34
+33 -34
--- src/checkout.c
+++ src/checkout.c
@@ -139,55 +139,54 @@
139139
Blob hash;
140140
Blob taglist;
141141
int flg;
142142
143143
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{
177168
if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.uuid'") ){
178169
zManFile = mprintf("%smanifest.uuid", g.zLocalRoot);
179170
file_delete(zManFile);
180171
free(zManFile);
181172
}
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{
182182
if( !db_exists("SELECT 1 FROM vfile WHERE pathname='manifest.tags'") ){
183183
zManFile = mprintf("%smanifest.tags", g.zLocalRoot);
184184
file_delete(zManFile);
185185
free(zManFile);
186186
}
187187
}
188
-
189188
}
190189
191190
void get_checkin_taglist(int rid, Blob *pOut){
192191
char *zTags;
193192
Stmt stmt;
194193
--- 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

Keyboard Shortcuts

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