Fossil SCM
Detect invalid wiki manifests containing J and/or K cards (missed those in the previous commit). Report card problems in manifests in alphabetical order.
Commit
313de568dcd03c7ebc23ada411e2d65676c5d5c3
Parent
268ecf6ae97ec37…
1 file changed
+13
-12
+13
-12
| --- src/manifest.c | ||
| +++ src/manifest.c | ||
| @@ -890,48 +890,49 @@ | ||
| 890 | 890 | SYNTAX("cluster contains a card other than M- or Z-"); |
| 891 | 891 | } |
| 892 | 892 | if( !seenZ ) SYNTAX("missing Z-card on cluster"); |
| 893 | 893 | p->type = CFTYPE_CLUSTER; |
| 894 | 894 | }else if( p->zEventId ){ |
| 895 | + if( p->zAttachName ) SYNTAX("A-card in event"); | |
| 896 | + if( p->zBaseline ) SYNTAX("B-card in event"); | |
| 895 | 897 | if( p->rDate<=0.0 ) SYNTAX("missing date on event"); |
| 896 | 898 | if( p->nFile>0 ) SYNTAX("F-card in event"); |
| 897 | - if( p->zRepoCksum ) SYNTAX("R-card in event"); | |
| 898 | - if( p->zBaseline ) SYNTAX("B-card in event"); | |
| 899 | 899 | if( p->nField>0 ) SYNTAX("J-card in event"); |
| 900 | 900 | if( p->zTicketUuid ) SYNTAX("K-card in event"); |
| 901 | 901 | if( p->zWikiTitle!=0 ) SYNTAX("L-card in event"); |
| 902 | + if( p->zRepoCksum ) SYNTAX("R-card in event"); | |
| 902 | 903 | if( p->zWiki==0 ) SYNTAX("missing W-card on event"); |
| 903 | - if( p->zAttachName ) SYNTAX("A-card in event"); | |
| 904 | 904 | if( !seenZ ) SYNTAX("missing Z-card on event"); |
| 905 | 905 | p->type = CFTYPE_EVENT; |
| 906 | 906 | }else if( p->zWiki!=0 || p->zWikiTitle!=0 ){ |
| 907 | + if( p->zAttachName ) SYNTAX("A-card in wiki"); | |
| 908 | + if( p->zBaseline ) SYNTAX("B-card in wiki"); | |
| 907 | 909 | if( p->rDate<=0.0 ) SYNTAX("missing date on wiki"); |
| 908 | 910 | if( p->nFile>0 ) SYNTAX("F-card in wiki"); |
| 911 | + if( p->nField>0 ) SYNTAX("J-card in wiki"); | |
| 912 | + if( p->zTicketUuid ) SYNTAX("K-card in wiki"); | |
| 913 | + if( p->zWikiTitle==0 ) SYNTAX("missing L-card on wiki"); | |
| 909 | 914 | if( p->zRepoCksum ) SYNTAX("R-card in wiki"); |
| 910 | - if( p->zBaseline ) SYNTAX("B-card in wiki"); | |
| 911 | 915 | if( p->nTag>0 ) SYNTAX("T-card in wiki"); |
| 912 | 916 | if( p->zWiki==0 ) SYNTAX("missing W-card on wiki"); |
| 913 | - if( p->zWikiTitle==0 ) SYNTAX("missing L-card on wiki"); | |
| 914 | - if( p->zAttachName ) SYNTAX("A-card in wiki"); | |
| 915 | 917 | if( !seenZ ) SYNTAX("missing Z-card on wiki"); |
| 916 | 918 | p->type = CFTYPE_WIKI; |
| 917 | 919 | }else if( hasSelfRefTag || p->nFile>0 || p->zRepoCksum!=0 || p->zBaseline |
| 918 | - || p->nParent>0){ | |
| 920 | + || p->nParent>0 ){ | |
| 921 | + if( p->zAttachName ) SYNTAX("A-card in manifest"); | |
| 919 | 922 | if( p->rDate<=0.0 ) SYNTAX("missing date on manifest"); |
| 920 | 923 | if( p->nField>0 ) SYNTAX("J-card in manifest"); |
| 921 | 924 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 922 | - if( p->zTicketUuid ) SYNTAX("K-card in manifest"); | |
| 923 | - if( p->zAttachName ) SYNTAX("A-card in manifest"); | |
| 924 | 925 | p->type = CFTYPE_MANIFEST; |
| 925 | 926 | }else if( p->nField>0 || p->zTicketUuid!=0 ){ |
| 927 | + if( p->zAttachName ) SYNTAX("A-card in ticket"); | |
| 926 | 928 | if( p->rDate<=0.0 ) SYNTAX("missing date on ticket"); |
| 927 | 929 | if( p->nField==0 ) SYNTAX("missing J-card on ticket"); |
| 928 | - if( p->nTag>0 ) SYNTAX("T-card in ticket"); | |
| 929 | 930 | if( p->zTicketUuid==0 ) SYNTAX("missing K-card on ticket"); |
| 930 | - if( p->zUser==0 ) SYNTAX("missing U-card on ticket"); | |
| 931 | - if( p->zAttachName ) SYNTAX("A-card in ticket"); | |
| 932 | 931 | if( p->zMimetype) SYNTAX("N-card in ticket"); |
| 932 | + if( p->nTag>0 ) SYNTAX("T-card in ticket"); | |
| 933 | + if( p->zUser==0 ) SYNTAX("missing U-card on ticket"); | |
| 933 | 934 | if( !seenZ ) SYNTAX("missing Z-card on ticket"); |
| 934 | 935 | p->type = CFTYPE_TICKET; |
| 935 | 936 | }else if( p->zAttachName ){ |
| 936 | 937 | if( p->rDate<=0.0 ) SYNTAX("missing date on attachment"); |
| 937 | 938 | if( p->nTag>0 ) SYNTAX("T-card in attachment"); |
| 938 | 939 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -890,48 +890,49 @@ | |
| 890 | SYNTAX("cluster contains a card other than M- or Z-"); |
| 891 | } |
| 892 | if( !seenZ ) SYNTAX("missing Z-card on cluster"); |
| 893 | p->type = CFTYPE_CLUSTER; |
| 894 | }else if( p->zEventId ){ |
| 895 | if( p->rDate<=0.0 ) SYNTAX("missing date on event"); |
| 896 | if( p->nFile>0 ) SYNTAX("F-card in event"); |
| 897 | if( p->zRepoCksum ) SYNTAX("R-card in event"); |
| 898 | if( p->zBaseline ) SYNTAX("B-card in event"); |
| 899 | if( p->nField>0 ) SYNTAX("J-card in event"); |
| 900 | if( p->zTicketUuid ) SYNTAX("K-card in event"); |
| 901 | if( p->zWikiTitle!=0 ) SYNTAX("L-card in event"); |
| 902 | if( p->zWiki==0 ) SYNTAX("missing W-card on event"); |
| 903 | if( p->zAttachName ) SYNTAX("A-card in event"); |
| 904 | if( !seenZ ) SYNTAX("missing Z-card on event"); |
| 905 | p->type = CFTYPE_EVENT; |
| 906 | }else if( p->zWiki!=0 || p->zWikiTitle!=0 ){ |
| 907 | if( p->rDate<=0.0 ) SYNTAX("missing date on wiki"); |
| 908 | if( p->nFile>0 ) SYNTAX("F-card in wiki"); |
| 909 | if( p->zRepoCksum ) SYNTAX("R-card in wiki"); |
| 910 | if( p->zBaseline ) SYNTAX("B-card in wiki"); |
| 911 | if( p->nTag>0 ) SYNTAX("T-card in wiki"); |
| 912 | if( p->zWiki==0 ) SYNTAX("missing W-card on wiki"); |
| 913 | if( p->zWikiTitle==0 ) SYNTAX("missing L-card on wiki"); |
| 914 | if( p->zAttachName ) SYNTAX("A-card in wiki"); |
| 915 | if( !seenZ ) SYNTAX("missing Z-card on wiki"); |
| 916 | p->type = CFTYPE_WIKI; |
| 917 | }else if( hasSelfRefTag || p->nFile>0 || p->zRepoCksum!=0 || p->zBaseline |
| 918 | || p->nParent>0){ |
| 919 | if( p->rDate<=0.0 ) SYNTAX("missing date on manifest"); |
| 920 | if( p->nField>0 ) SYNTAX("J-card in manifest"); |
| 921 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 922 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 923 | if( p->zAttachName ) SYNTAX("A-card in manifest"); |
| 924 | p->type = CFTYPE_MANIFEST; |
| 925 | }else if( p->nField>0 || p->zTicketUuid!=0 ){ |
| 926 | if( p->rDate<=0.0 ) SYNTAX("missing date on ticket"); |
| 927 | if( p->nField==0 ) SYNTAX("missing J-card on ticket"); |
| 928 | if( p->nTag>0 ) SYNTAX("T-card in ticket"); |
| 929 | if( p->zTicketUuid==0 ) SYNTAX("missing K-card on ticket"); |
| 930 | if( p->zUser==0 ) SYNTAX("missing U-card on ticket"); |
| 931 | if( p->zAttachName ) SYNTAX("A-card in ticket"); |
| 932 | if( p->zMimetype) SYNTAX("N-card in ticket"); |
| 933 | if( !seenZ ) SYNTAX("missing Z-card on ticket"); |
| 934 | p->type = CFTYPE_TICKET; |
| 935 | }else if( p->zAttachName ){ |
| 936 | if( p->rDate<=0.0 ) SYNTAX("missing date on attachment"); |
| 937 | if( p->nTag>0 ) SYNTAX("T-card in attachment"); |
| 938 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -890,48 +890,49 @@ | |
| 890 | SYNTAX("cluster contains a card other than M- or Z-"); |
| 891 | } |
| 892 | if( !seenZ ) SYNTAX("missing Z-card on cluster"); |
| 893 | p->type = CFTYPE_CLUSTER; |
| 894 | }else if( p->zEventId ){ |
| 895 | if( p->zAttachName ) SYNTAX("A-card in event"); |
| 896 | if( p->zBaseline ) SYNTAX("B-card in event"); |
| 897 | if( p->rDate<=0.0 ) SYNTAX("missing date on event"); |
| 898 | if( p->nFile>0 ) SYNTAX("F-card in event"); |
| 899 | if( p->nField>0 ) SYNTAX("J-card in event"); |
| 900 | if( p->zTicketUuid ) SYNTAX("K-card in event"); |
| 901 | if( p->zWikiTitle!=0 ) SYNTAX("L-card in event"); |
| 902 | if( p->zRepoCksum ) SYNTAX("R-card in event"); |
| 903 | if( p->zWiki==0 ) SYNTAX("missing W-card on event"); |
| 904 | if( !seenZ ) SYNTAX("missing Z-card on event"); |
| 905 | p->type = CFTYPE_EVENT; |
| 906 | }else if( p->zWiki!=0 || p->zWikiTitle!=0 ){ |
| 907 | if( p->zAttachName ) SYNTAX("A-card in wiki"); |
| 908 | if( p->zBaseline ) SYNTAX("B-card in wiki"); |
| 909 | if( p->rDate<=0.0 ) SYNTAX("missing date on wiki"); |
| 910 | if( p->nFile>0 ) SYNTAX("F-card in wiki"); |
| 911 | if( p->nField>0 ) SYNTAX("J-card in wiki"); |
| 912 | if( p->zTicketUuid ) SYNTAX("K-card in wiki"); |
| 913 | if( p->zWikiTitle==0 ) SYNTAX("missing L-card on wiki"); |
| 914 | if( p->zRepoCksum ) SYNTAX("R-card in wiki"); |
| 915 | if( p->nTag>0 ) SYNTAX("T-card in wiki"); |
| 916 | if( p->zWiki==0 ) SYNTAX("missing W-card on wiki"); |
| 917 | if( !seenZ ) SYNTAX("missing Z-card on wiki"); |
| 918 | p->type = CFTYPE_WIKI; |
| 919 | }else if( hasSelfRefTag || p->nFile>0 || p->zRepoCksum!=0 || p->zBaseline |
| 920 | || p->nParent>0 ){ |
| 921 | if( p->zAttachName ) SYNTAX("A-card in manifest"); |
| 922 | if( p->rDate<=0.0 ) SYNTAX("missing date on manifest"); |
| 923 | if( p->nField>0 ) SYNTAX("J-card in manifest"); |
| 924 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 925 | p->type = CFTYPE_MANIFEST; |
| 926 | }else if( p->nField>0 || p->zTicketUuid!=0 ){ |
| 927 | if( p->zAttachName ) SYNTAX("A-card in ticket"); |
| 928 | if( p->rDate<=0.0 ) SYNTAX("missing date on ticket"); |
| 929 | if( p->nField==0 ) SYNTAX("missing J-card on ticket"); |
| 930 | if( p->zTicketUuid==0 ) SYNTAX("missing K-card on ticket"); |
| 931 | if( p->zMimetype) SYNTAX("N-card in ticket"); |
| 932 | if( p->nTag>0 ) SYNTAX("T-card in ticket"); |
| 933 | if( p->zUser==0 ) SYNTAX("missing U-card on ticket"); |
| 934 | if( !seenZ ) SYNTAX("missing Z-card on ticket"); |
| 935 | p->type = CFTYPE_TICKET; |
| 936 | }else if( p->zAttachName ){ |
| 937 | if( p->rDate<=0.0 ) SYNTAX("missing date on attachment"); |
| 938 | if( p->nTag>0 ) SYNTAX("T-card in attachment"); |
| 939 |