Fossil SCM

Add manifest.tags to tarballs when appropriate, and decouple manifest and manifest.uuid.

jan 2016-01-03 23:55 jan-manifest-tags
Commit 80ceedbdeabc970e853427ca81184838aba89ff4
1 file changed +33 -12
+33 -12
--- src/tar.c
+++ src/tar.c
@@ -486,25 +486,46 @@
486486
}
487487
nPrefix = blob_size(&filename);
488488
489489
pManifest = manifest_get(rid, CFTYPE_MANIFEST, 0);
490490
if( pManifest ){
491
+ int flg;
491492
mTime = (pManifest->rDate - 2440587.5)*86400.0;
492493
tar_begin(mTime);
493
- if( db_get_boolean("manifest", 0) ){
494
- blob_append(&filename, "manifest", -1);
495
- zName = blob_str(&filename);
496
- sha1sum_blob(&mfile, &hash);
497
- sterilize_manifest(&mfile);
498
- tar_add_file(zName, &mfile, 0, mTime);
494
+ flg = db_get_manifest_setting();
495
+ if( flg ){
496
+ if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){
497
+ if( flg & MFESTFLG_RAW ){
498
+ blob_append(&filename, "manifest", -1);
499
+ zName = blob_str(&filename);
500
+ }
501
+ if( flg & MFESTFLG_UUID ){
502
+ sha1sum_blob(&mfile, &hash);
503
+ }
504
+ if( flg & MFESTFLG_RAW ) {
505
+ sterilize_manifest(&mfile);
506
+ tar_add_file(zName, &mfile, 0, mTime);
507
+ }
508
+ }
499509
blob_reset(&mfile);
500
- blob_append(&hash, "\n", 1);
501
- blob_resize(&filename, nPrefix);
502
- blob_append(&filename, "manifest.uuid", -1);
503
- zName = blob_str(&filename);
504
- tar_add_file(zName, &hash, 0, mTime);
505
- blob_reset(&hash);
510
+ if( flg & MFESTFLG_UUID ){
511
+ blob_append(&hash, "\n", 1);
512
+ blob_resize(&filename, nPrefix);
513
+ blob_append(&filename, "manifest.uuid", -1);
514
+ zName = blob_str(&filename);
515
+ tar_add_file(zName, &hash, 0, mTime);
516
+ blob_reset(&hash);
517
+ }
518
+ if( flg & MFESTFLG_TAGS ){
519
+ Blob tagslist;
520
+ blob_zero(&tagslist);
521
+ get_checkin_taglist(rid, &tagslist);
522
+ blob_resize(&filename, nPrefix);
523
+ blob_append(&filename, "manifest.tags", -1);
524
+ tar_add_file(zName, &tagslist, 0, mTime);
525
+ blob_reset(&tagslist);
526
+ }
506527
}
507528
manifest_file_rewind(pManifest);
508529
while( (pFile = manifest_file_next(pManifest,0))!=0 ){
509530
int fid = uuid_to_rid(pFile->zUuid, 0);
510531
if( fid ){
511532
--- src/tar.c
+++ src/tar.c
@@ -486,25 +486,46 @@
486 }
487 nPrefix = blob_size(&filename);
488
489 pManifest = manifest_get(rid, CFTYPE_MANIFEST, 0);
490 if( pManifest ){
 
491 mTime = (pManifest->rDate - 2440587.5)*86400.0;
492 tar_begin(mTime);
493 if( db_get_boolean("manifest", 0) ){
494 blob_append(&filename, "manifest", -1);
495 zName = blob_str(&filename);
496 sha1sum_blob(&mfile, &hash);
497 sterilize_manifest(&mfile);
498 tar_add_file(zName, &mfile, 0, mTime);
 
 
 
 
 
 
 
 
 
499 blob_reset(&mfile);
500 blob_append(&hash, "\n", 1);
501 blob_resize(&filename, nPrefix);
502 blob_append(&filename, "manifest.uuid", -1);
503 zName = blob_str(&filename);
504 tar_add_file(zName, &hash, 0, mTime);
505 blob_reset(&hash);
 
 
 
 
 
 
 
 
 
 
 
506 }
507 manifest_file_rewind(pManifest);
508 while( (pFile = manifest_file_next(pManifest,0))!=0 ){
509 int fid = uuid_to_rid(pFile->zUuid, 0);
510 if( fid ){
511
--- src/tar.c
+++ src/tar.c
@@ -486,25 +486,46 @@
486 }
487 nPrefix = blob_size(&filename);
488
489 pManifest = manifest_get(rid, CFTYPE_MANIFEST, 0);
490 if( pManifest ){
491 int flg;
492 mTime = (pManifest->rDate - 2440587.5)*86400.0;
493 tar_begin(mTime);
494 flg = db_get_manifest_setting();
495 if( flg ){
496 if( flg & (MFESTFLG_RAW|MFESTFLG_UUID) ){
497 if( flg & MFESTFLG_RAW ){
498 blob_append(&filename, "manifest", -1);
499 zName = blob_str(&filename);
500 }
501 if( flg & MFESTFLG_UUID ){
502 sha1sum_blob(&mfile, &hash);
503 }
504 if( flg & MFESTFLG_RAW ) {
505 sterilize_manifest(&mfile);
506 tar_add_file(zName, &mfile, 0, mTime);
507 }
508 }
509 blob_reset(&mfile);
510 if( flg & MFESTFLG_UUID ){
511 blob_append(&hash, "\n", 1);
512 blob_resize(&filename, nPrefix);
513 blob_append(&filename, "manifest.uuid", -1);
514 zName = blob_str(&filename);
515 tar_add_file(zName, &hash, 0, mTime);
516 blob_reset(&hash);
517 }
518 if( flg & MFESTFLG_TAGS ){
519 Blob tagslist;
520 blob_zero(&tagslist);
521 get_checkin_taglist(rid, &tagslist);
522 blob_resize(&filename, nPrefix);
523 blob_append(&filename, "manifest.tags", -1);
524 tar_add_file(zName, &tagslist, 0, mTime);
525 blob_reset(&tagslist);
526 }
527 }
528 manifest_file_rewind(pManifest);
529 while( (pFile = manifest_file_next(pManifest,0))!=0 ){
530 int fid = uuid_to_rid(pFile->zUuid, 0);
531 if( fid ){
532

Keyboard Shortcuts

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