Fossil SCM
Fix "'syntax error in manifest' when checkin would result in empty worktree" problem, reported by Michai Ramakers on the ML.
Commit
268ecf6ae97ec370fcaadb41dd1a7aeadd691937
Parent
ec2061ce02115ec…
1 file changed
+13
-14
+13
-14
| --- src/manifest.c | ||
| +++ src/manifest.c | ||
| @@ -901,47 +901,46 @@ | ||
| 901 | 901 | if( p->zWikiTitle!=0 ) SYNTAX("L-card in event"); |
| 902 | 902 | if( p->zWiki==0 ) SYNTAX("missing W-card on event"); |
| 903 | 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 | - }else if( hasSelfRefTag || p->nFile>0 || p->zRepoCksum!=0 || p->zBaseline ){ | |
| 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){ | |
| 907 | 919 | if( p->rDate<=0.0 ) SYNTAX("missing date on manifest"); |
| 908 | 920 | if( p->nField>0 ) SYNTAX("J-card in manifest"); |
| 909 | 921 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 910 | - if( p->zWiki ) SYNTAX("W-card in manifest"); | |
| 911 | - if( p->zWikiTitle ) SYNTAX("L-card in manifest"); | |
| 912 | 922 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 913 | 923 | if( p->zAttachName ) SYNTAX("A-card in manifest"); |
| 914 | 924 | p->type = CFTYPE_MANIFEST; |
| 915 | 925 | }else if( p->nField>0 || p->zTicketUuid!=0 ){ |
| 916 | 926 | if( p->rDate<=0.0 ) SYNTAX("missing date on ticket"); |
| 917 | - if( p->zWiki ) SYNTAX("W-card in ticket"); | |
| 918 | - if( p->zWikiTitle ) SYNTAX("L-card in ticket"); | |
| 919 | 927 | if( p->nField==0 ) SYNTAX("missing J-card on ticket"); |
| 920 | 928 | if( p->nTag>0 ) SYNTAX("T-card in ticket"); |
| 921 | 929 | if( p->zTicketUuid==0 ) SYNTAX("missing K-card on ticket"); |
| 922 | 930 | if( p->zUser==0 ) SYNTAX("missing U-card on ticket"); |
| 923 | 931 | if( p->zAttachName ) SYNTAX("A-card in ticket"); |
| 924 | 932 | if( p->zMimetype) SYNTAX("N-card in ticket"); |
| 925 | 933 | if( !seenZ ) SYNTAX("missing Z-card on ticket"); |
| 926 | 934 | p->type = CFTYPE_TICKET; |
| 927 | - }else if( p->zWiki!=0 || p->zWikiTitle!=0 ){ | |
| 928 | - if( p->rDate<=0.0 ) SYNTAX("missing date on wiki"); | |
| 929 | - if( p->nTag>0 ) SYNTAX("T-card in wiki"); | |
| 930 | - if( p->zWiki==0 ) SYNTAX("missing W-card on wiki"); | |
| 931 | - if( p->zWikiTitle==0 ) SYNTAX("missing L-card on wiki"); | |
| 932 | - if( p->zAttachName ) SYNTAX("A-card in wiki"); | |
| 933 | - if( !seenZ ) SYNTAX("missing Z-card on wiki"); | |
| 934 | - p->type = CFTYPE_WIKI; | |
| 935 | 935 | }else if( p->zAttachName ){ |
| 936 | 936 | if( p->rDate<=0.0 ) SYNTAX("missing date on attachment"); |
| 937 | 937 | if( p->nTag>0 ) SYNTAX("T-card in attachment"); |
| 938 | 938 | if( !seenZ ) SYNTAX("missing Z-card on attachment"); |
| 939 | 939 | p->type = CFTYPE_ATTACHMENT; |
| 940 | 940 | }else{ |
| 941 | 941 | if( p->rDate<=0.0 ) SYNTAX("missing date on control"); |
| 942 | - if( p->nParent>0 ) SYNTAX("P-card in control"); | |
| 943 | 942 | if( p->zMimetype ) SYNTAX("N-card in control"); |
| 944 | 943 | if( !seenZ ) SYNTAX("missing Z-card on control"); |
| 945 | 944 | p->type = CFTYPE_CONTROL; |
| 946 | 945 | } |
| 947 | 946 | md5sum_init(); |
| 948 | 947 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -901,47 +901,46 @@ | |
| 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( hasSelfRefTag || p->nFile>0 || p->zRepoCksum!=0 || p->zBaseline ){ |
| 907 | if( p->rDate<=0.0 ) SYNTAX("missing date on manifest"); |
| 908 | if( p->nField>0 ) SYNTAX("J-card in manifest"); |
| 909 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 910 | if( p->zWiki ) SYNTAX("W-card in manifest"); |
| 911 | if( p->zWikiTitle ) SYNTAX("L-card in manifest"); |
| 912 | if( p->zTicketUuid ) SYNTAX("K-card in manifest"); |
| 913 | if( p->zAttachName ) SYNTAX("A-card in manifest"); |
| 914 | p->type = CFTYPE_MANIFEST; |
| 915 | }else if( p->nField>0 || p->zTicketUuid!=0 ){ |
| 916 | if( p->rDate<=0.0 ) SYNTAX("missing date on ticket"); |
| 917 | if( p->zWiki ) SYNTAX("W-card in ticket"); |
| 918 | if( p->zWikiTitle ) SYNTAX("L-card in ticket"); |
| 919 | if( p->nField==0 ) SYNTAX("missing J-card on ticket"); |
| 920 | if( p->nTag>0 ) SYNTAX("T-card in ticket"); |
| 921 | if( p->zTicketUuid==0 ) SYNTAX("missing K-card on ticket"); |
| 922 | if( p->zUser==0 ) SYNTAX("missing U-card on ticket"); |
| 923 | if( p->zAttachName ) SYNTAX("A-card in ticket"); |
| 924 | if( p->zMimetype) SYNTAX("N-card in ticket"); |
| 925 | if( !seenZ ) SYNTAX("missing Z-card on ticket"); |
| 926 | p->type = CFTYPE_TICKET; |
| 927 | }else if( p->zWiki!=0 || p->zWikiTitle!=0 ){ |
| 928 | if( p->rDate<=0.0 ) SYNTAX("missing date on wiki"); |
| 929 | if( p->nTag>0 ) SYNTAX("T-card in wiki"); |
| 930 | if( p->zWiki==0 ) SYNTAX("missing W-card on wiki"); |
| 931 | if( p->zWikiTitle==0 ) SYNTAX("missing L-card on wiki"); |
| 932 | if( p->zAttachName ) SYNTAX("A-card in wiki"); |
| 933 | if( !seenZ ) SYNTAX("missing Z-card on wiki"); |
| 934 | p->type = CFTYPE_WIKI; |
| 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 | if( !seenZ ) SYNTAX("missing Z-card on attachment"); |
| 939 | p->type = CFTYPE_ATTACHMENT; |
| 940 | }else{ |
| 941 | if( p->rDate<=0.0 ) SYNTAX("missing date on control"); |
| 942 | if( p->nParent>0 ) SYNTAX("P-card in control"); |
| 943 | if( p->zMimetype ) SYNTAX("N-card in control"); |
| 944 | if( !seenZ ) SYNTAX("missing Z-card on control"); |
| 945 | p->type = CFTYPE_CONTROL; |
| 946 | } |
| 947 | md5sum_init(); |
| 948 |
| --- src/manifest.c | |
| +++ src/manifest.c | |
| @@ -901,47 +901,46 @@ | |
| 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 | if( !seenZ ) SYNTAX("missing Z-card on attachment"); |
| 939 | p->type = CFTYPE_ATTACHMENT; |
| 940 | }else{ |
| 941 | if( p->rDate<=0.0 ) SYNTAX("missing date on control"); |
| 942 | if( p->zMimetype ) SYNTAX("N-card in control"); |
| 943 | if( !seenZ ) SYNTAX("missing Z-card on control"); |
| 944 | p->type = CFTYPE_CONTROL; |
| 945 | } |
| 946 | md5sum_init(); |
| 947 |