Fossil SCM
Add manifest.tags to tarballs when appropriate, and decouple manifest and manifest.uuid.
Commit
80ceedbdeabc970e853427ca81184838aba89ff4
Parent
142cb7aabdc746a…
1 file changed
+33
-12
+33
-12
| --- src/tar.c | ||
| +++ src/tar.c | ||
| @@ -486,25 +486,46 @@ | ||
| 486 | 486 | } |
| 487 | 487 | nPrefix = blob_size(&filename); |
| 488 | 488 | |
| 489 | 489 | pManifest = manifest_get(rid, CFTYPE_MANIFEST, 0); |
| 490 | 490 | if( pManifest ){ |
| 491 | + int flg; | |
| 491 | 492 | mTime = (pManifest->rDate - 2440587.5)*86400.0; |
| 492 | 493 | 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 | + } | |
| 499 | 509 | 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 | + } | |
| 506 | 527 | } |
| 507 | 528 | manifest_file_rewind(pManifest); |
| 508 | 529 | while( (pFile = manifest_file_next(pManifest,0))!=0 ){ |
| 509 | 530 | int fid = uuid_to_rid(pFile->zUuid, 0); |
| 510 | 531 | if( fid ){ |
| 511 | 532 |
| --- 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 |