/[CvsGraph]/cvsgraph/cvsgraph.c
ViewVC logotype

Diff of /cvsgraph/cvsgraph.c

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.39, Mon Jul 19 12:40:19 2004 UTC revision 1.40, Tue Aug 3 08:50:15 2004 UTC
# Line 766  Line 766 
766                                                          rcs->merges[rcs->nmerges].to = nt;                                                          rcs->merges[rcs->nmerges].to = nt;
767                                                          rcs->merges[rcs->nmerges].from = t;                                                          rcs->merges[rcs->nmerges].from = t;
768                                                          rcs->nmerges++;                                                          rcs->nmerges++;
769                                                            /* Merges cannot be ignored tags */
770                                                            nt->ignore = 0;
771                                                            t->ignore = 0;
772                                                          /* We cannot (should not) match multiple times */                                                          /* We cannot (should not) match multiple times */
773                                                          break;                                                          break;
774                                                  }                                                  }
# Line 785  Line 788 
788  {  {
789          int i;          int i;
790          int nr;          int nr;
791            regex_t *regextag = NULL;
792    
793            if(conf.tag_ignore && conf.tag_ignore[0])
794            {
795                    int err;
796                    regextag = xmalloc(sizeof(*regextag));
797                    err = regcomp(regextag, conf.tag_ignore, REG_EXTENDED | REG_NOSUB | (conf.tag_nocase ? REG_ICASE : 0));
798                    if(err)
799                    {
800                            if(!quiet)
801                            {
802                                    char *msg;
803                                    i = regerror(err, regextag, NULL, 0);
804                                    msg = xmalloc(i+1);
805                                    regerror(err, regextag, msg, i+1);
806                                    fprintf(stderr, "%s\n", msg);
807                                    xfree(msg);
808                            }
809                            xfree(regextag);
810                            regextag = NULL;
811                    }
812            }
813    
814          for(i = nr = 0; i < rcs->nbranches; i++)          for(i = nr = 0; i < rcs->nbranches; i++)
815                  nr += rcs->branches[i]->nrevs;                  nr += rcs->branches[i]->nrevs;
# Line 891  Line 916 
916                                          rr->ntags++;                                          rr->ntags++;
917                                  }                                  }
918                          }                          }
919    
920                            /* Mark the tag ignored if it matches the configuration */
921                            if(regextag && !regexec(regextag, t->tag, 0, NULL, 0))
922                                    t->ignore++;
923                  }                  }
924          }          }
925    
# Line 906  Line 935 
935                  *b = rcs->branches[0];                  *b = rcs->branches[0];
936                  rcs->branches[0] = t;                  rcs->branches[0] = t;
937          }          }
938    
939            if(regextag)
940            {
941                    regfree(regextag);
942                    xfree(regextag);
943            }
944  }  }
945    
946  /*  /*
# Line 2560  Line 2595 
2595                  }                  }
2596          }          }
2597    
2598            /* Remove all unwanted tags */
2599            for(i = 0; i < rcs->nbranches; i++)
2600            {
2601                    branch_t *bp = rcs->branches[i];
2602                    for(j = 0; j < bp->nrevs; j++)
2603                    {
2604                            revision_t *r = bp->revs[j];
2605                            int k;
2606                            for(k = 0; k < r->ntags; k++)
2607                            {
2608                                    if(r->tags[k]->ignore)
2609                                    {
2610                                            memmove(&r->tags[k], &r->tags[k+1], (r->ntags-k-1) * sizeof(r->tags[0]));
2611                                            r->ntags--;
2612                                            k--;
2613                                    }
2614                            }
2615                    }
2616            }
2617    
2618          /* Calculate the box-sizes of the revisions */          /* Calculate the box-sizes of the revisions */
2619          for(i = 0; i < rcs->nsrev; i++)          for(i = 0; i < rcs->nsrev; i++)
2620          {          {

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.0 with CvsGraph 1.7.0