Fossil SCM
In artifact_to_json(), ensure that a P-card is added, independent of the artifact type, if the Manifest object has a P card. Also ensure that some "not quite correct" artifacts, like [45c52e842fc184] (a technote with out-of-order P/N cards), include their W-card. Problems reported in [forum:/forumpost/259a1bdda9bc9ff3|forum post 259a1bdda9bc9ff3].
Commit
0d8c913658cdf45196f19bee7d1eb807b522d21e04388ce95109b3108c045d74
Parent
fd2a718eb54e80a…
1 file changed
+2
-2
+2
-2
| --- src/manifest.c | ||
| +++ src/manifest.c | ||
| @@ -3031,11 +3031,11 @@ | ||
| 3031 | 3031 | blob_appendf(b, "%!j", p->azCChild[i]); |
| 3032 | 3032 | } |
| 3033 | 3033 | blob_append_char(b, ']'); |
| 3034 | 3034 | } |
| 3035 | 3035 | CARD_STR2(N, p->zMimetype); |
| 3036 | - ISA( CFTYPE_MANIFEST ){ | |
| 3036 | + ISA( CFTYPE_MANIFEST || p->nParent>0 ){ | |
| 3037 | 3037 | CARD_LETTER(P); |
| 3038 | 3038 | blob_append_char(b, '['); |
| 3039 | 3039 | for( i = 0; i < p->nParent; ++i ){ |
| 3040 | 3040 | if( i>0 ) blob_append_char(b, ','); |
| 3041 | 3041 | blob_appendf(b, "%!j", p->azParent[i]); |
| @@ -3073,11 +3073,11 @@ | ||
| 3073 | 3073 | blob_append_char(b, '}'); |
| 3074 | 3074 | } |
| 3075 | 3075 | blob_append_char(b, ']'); |
| 3076 | 3076 | } |
| 3077 | 3077 | CARD_STR2(U, p->zUser); |
| 3078 | - if( CFTYPE_WIKI==p->type || CFTYPE_FORUM==p->type ){ | |
| 3078 | + if( p->zWiki || CFTYPE_WIKI==p->type || CFTYPE_FORUM==p->type ){ | |
| 3079 | 3079 | CARD_LETTER(W); |
| 3080 | 3080 | STR_OR_NULL((p->zWiki && *p->zWiki) ? p->zWiki : NULL); |
| 3081 | 3081 | } |
| 3082 | 3082 | blob_append_literal(b, "}"); |
| 3083 | 3083 | #undef CARD_FMT |
| 3084 | 3084 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -3031,11 +3031,11 @@ | |
| 3031 | blob_appendf(b, "%!j", p->azCChild[i]); |
| 3032 | } |
| 3033 | blob_append_char(b, ']'); |
| 3034 | } |
| 3035 | CARD_STR2(N, p->zMimetype); |
| 3036 | ISA( CFTYPE_MANIFEST ){ |
| 3037 | CARD_LETTER(P); |
| 3038 | blob_append_char(b, '['); |
| 3039 | for( i = 0; i < p->nParent; ++i ){ |
| 3040 | if( i>0 ) blob_append_char(b, ','); |
| 3041 | blob_appendf(b, "%!j", p->azParent[i]); |
| @@ -3073,11 +3073,11 @@ | |
| 3073 | blob_append_char(b, '}'); |
| 3074 | } |
| 3075 | blob_append_char(b, ']'); |
| 3076 | } |
| 3077 | CARD_STR2(U, p->zUser); |
| 3078 | if( CFTYPE_WIKI==p->type || CFTYPE_FORUM==p->type ){ |
| 3079 | CARD_LETTER(W); |
| 3080 | STR_OR_NULL((p->zWiki && *p->zWiki) ? p->zWiki : NULL); |
| 3081 | } |
| 3082 | blob_append_literal(b, "}"); |
| 3083 | #undef CARD_FMT |
| 3084 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -3031,11 +3031,11 @@ | |
| 3031 | blob_appendf(b, "%!j", p->azCChild[i]); |
| 3032 | } |
| 3033 | blob_append_char(b, ']'); |
| 3034 | } |
| 3035 | CARD_STR2(N, p->zMimetype); |
| 3036 | ISA( CFTYPE_MANIFEST || p->nParent>0 ){ |
| 3037 | CARD_LETTER(P); |
| 3038 | blob_append_char(b, '['); |
| 3039 | for( i = 0; i < p->nParent; ++i ){ |
| 3040 | if( i>0 ) blob_append_char(b, ','); |
| 3041 | blob_appendf(b, "%!j", p->azParent[i]); |
| @@ -3073,11 +3073,11 @@ | |
| 3073 | blob_append_char(b, '}'); |
| 3074 | } |
| 3075 | blob_append_char(b, ']'); |
| 3076 | } |
| 3077 | CARD_STR2(U, p->zUser); |
| 3078 | if( p->zWiki || CFTYPE_WIKI==p->type || CFTYPE_FORUM==p->type ){ |
| 3079 | CARD_LETTER(W); |
| 3080 | STR_OR_NULL((p->zWiki && *p->zWiki) ? p->zWiki : NULL); |
| 3081 | } |
| 3082 | blob_append_literal(b, "}"); |
| 3083 | #undef CARD_FMT |
| 3084 |