Diff
Not logged in

Differences From:

File src/manifest.c part of check-in [432d4391b9] - Fix a bug in the "leaves" page when the repository is empty. Begin adding support for the ability to erase tags. by drh on 2009-01-21 13:50:11. [view]

To:

File src/manifest.c part of check-in [08db9e11cb] - Track the origin of tags and display that origin in the tag and properities information field of the "vinfo" page. Must "fossil rebuild" after this change. by drh on 2009-01-21 23:40:17. [view]

@@ -502,9 +502,9 @@
         }else{
           goto manifest_syntax_error;
         }
         defossilize(zName);
-        if( zName[0]!='-' && zName[0]!='+' && zName[0]!='*' && zName[0]!='0' ){
+        if( zName[0]!='-' && zName[0]!='+' && zName[0]!='*' ){
           goto manifest_syntax_error;
         }
         if( validate16(&zName[1], strlen(&zName[1])) ){
           /* Do not allow tags whose names look like UUIDs */
@@ -949,12 +949,11 @@
         tid = rid;
       }
       if( tid ){
         switch( m.aTag[i].zName[0] ){
-          case '+':  type = 1;  break;
-          case '*':  type = 2;  break;
-          case '-':  type = 0;  break;
-          case '0':  type = -1; break;
+          case '-':  type = 0;  break;  /* Cancel prior occurances */
+          case '+':  type = 1;  break;  /* Apply to target only */
+          case '*':  type = 2;  break;  /* Propagate to descendants */
           default:
             fossil_fatal("unknown tag type in manifest: %s", m.aTag);
             return 0;
         }