39363c9d25a55c3bd717b4d1483d895f584d400a galt Wed Mar 3 02:21:57 2010 -0800 adding linesChanged diff --git git-reports.c git-reports.c index b9cfa87..ce57003 100644 --- git-reports.c +++ git-reports.c @@ -191,15 +191,46 @@ int lineSize; char *line; boolean inBody = FALSE; +boolean inBlock = TRUE; +int blockP = 0, blockN = 0; fprintf(h, "\n\n%s %s\n\n\n
\n", path, commitId);
 while (lineFileNext(lf, &line, &lineSize))
     {
     if (line[0] == '-')
+	{
 	fprintf(h, "%s\n", line);
+	if (inBody)
+	    {
+	    inBlock = TRUE;
+	    ++blockN;
+	    }
+	}
     else if (line[0] == '+')
+	{
 	fprintf(h, "%s\n", line);
+	if (inBody)
+	    {
+	    inBlock = TRUE;
+	    ++blockP;
+	    }
+	}
     else
+	{
 	fprintf(h, "%s\n", line);
+	if (inBody)
+	    {
+	    if (inBlock)
+		{
+		inBlock = FALSE;
+		if (blockP >= blockN)
+		    linesChanged += blockP;
+		else
+		    linesChanged += blockN;
+		blockP = 0;
+		blockN = 0;
+		}
+	    }
+	}
 	
     if (line[0] == '@')
 	inBody = TRUE;
@@ -251,7 +282,7 @@
 	    system(gitCmd);
 	    // TODO error handling
 
-	    int linesChanged = makeHtml(path, f->path, c->commitId);
+	    f->linesChanged = makeHtml(path, f->path, c->commitId);
 
             // full text (up to 10,000 lines)
 	    safef(path, sizeof(path), "%s/%s/%s/%s/%s/%s%s.diff", outDir, outPrefix, "user", u, "full", f->path, c->commitId);