Fossil SCM
Ignore columns of the TICKET and TICKETCHNG tables that contain spaces in their names. Such ticket fields could not be properly tracked by the earlier versions of Fossil because a ticket field name isn't fossilized when an artifact is constructed.
Commit
dbcb446970c3028c22384135b9984ff45ca028e8b495268ef35b89d495c7a99f
Parent
318ab802db3fa28…
1 file changed
+2
+2
| --- src/tkt.c | ||
| +++ src/tkt.c | ||
| @@ -85,10 +85,11 @@ | ||
| 85 | 85 | haveTicket = 1; |
| 86 | 86 | if( memcmp(zFieldName,"tkt_",4)==0 ){ |
| 87 | 87 | if( strcmp(zFieldName, "tkt_ctime")==0 ) haveTicketCTime = 1; |
| 88 | 88 | continue; |
| 89 | 89 | } |
| 90 | + if( strchr(zFieldName,' ')!=0 ) continue; | |
| 90 | 91 | if( nField%10==0 ){ |
| 91 | 92 | aField = fossil_realloc(aField, sizeof(aField[0])*(nField+10) ); |
| 92 | 93 | } |
| 93 | 94 | aField[nField].zName = mprintf("%s", zFieldName); |
| 94 | 95 | aField[nField].mUsed = USEDBY_TICKET; |
| @@ -105,10 +106,11 @@ | ||
| 105 | 106 | }else if( strcmp(zFieldName+4,"user")==0 ){ |
| 106 | 107 | haveTicketChngUser = 1; /* tkt_user */ |
| 107 | 108 | } |
| 108 | 109 | continue; |
| 109 | 110 | } |
| 111 | + if( strchr(zFieldName,' ')!=0 ) continue; | |
| 110 | 112 | if( (i = fieldId(zFieldName))>=0 ){ |
| 111 | 113 | aField[i].mUsed |= USEDBY_TICKETCHNG; |
| 112 | 114 | continue; |
| 113 | 115 | } |
| 114 | 116 | if( nField%10==0 ){ |
| 115 | 117 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -85,10 +85,11 @@ | |
| 85 | haveTicket = 1; |
| 86 | if( memcmp(zFieldName,"tkt_",4)==0 ){ |
| 87 | if( strcmp(zFieldName, "tkt_ctime")==0 ) haveTicketCTime = 1; |
| 88 | continue; |
| 89 | } |
| 90 | if( nField%10==0 ){ |
| 91 | aField = fossil_realloc(aField, sizeof(aField[0])*(nField+10) ); |
| 92 | } |
| 93 | aField[nField].zName = mprintf("%s", zFieldName); |
| 94 | aField[nField].mUsed = USEDBY_TICKET; |
| @@ -105,10 +106,11 @@ | |
| 105 | }else if( strcmp(zFieldName+4,"user")==0 ){ |
| 106 | haveTicketChngUser = 1; /* tkt_user */ |
| 107 | } |
| 108 | continue; |
| 109 | } |
| 110 | if( (i = fieldId(zFieldName))>=0 ){ |
| 111 | aField[i].mUsed |= USEDBY_TICKETCHNG; |
| 112 | continue; |
| 113 | } |
| 114 | if( nField%10==0 ){ |
| 115 |
| --- src/tkt.c | |
| +++ src/tkt.c | |
| @@ -85,10 +85,11 @@ | |
| 85 | haveTicket = 1; |
| 86 | if( memcmp(zFieldName,"tkt_",4)==0 ){ |
| 87 | if( strcmp(zFieldName, "tkt_ctime")==0 ) haveTicketCTime = 1; |
| 88 | continue; |
| 89 | } |
| 90 | if( strchr(zFieldName,' ')!=0 ) continue; |
| 91 | if( nField%10==0 ){ |
| 92 | aField = fossil_realloc(aField, sizeof(aField[0])*(nField+10) ); |
| 93 | } |
| 94 | aField[nField].zName = mprintf("%s", zFieldName); |
| 95 | aField[nField].mUsed = USEDBY_TICKET; |
| @@ -105,10 +106,11 @@ | |
| 106 | }else if( strcmp(zFieldName+4,"user")==0 ){ |
| 107 | haveTicketChngUser = 1; /* tkt_user */ |
| 108 | } |
| 109 | continue; |
| 110 | } |
| 111 | if( strchr(zFieldName,' ')!=0 ) continue; |
| 112 | if( (i = fieldId(zFieldName))>=0 ){ |
| 113 | aField[i].mUsed |= USEDBY_TICKETCHNG; |
| 114 | continue; |
| 115 | } |
| 116 | if( nField%10==0 ){ |
| 117 |