aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-11-06 00:35:12 +0100
committerLars Hjemli <hjemli@gmail.com>2007-11-06 00:35:12 +0100
commitd04c4734bcf40b1d17c55b18fba2aa8344678e8f (patch)
treee08d0141da1b0b9ab2f921f1a7efd141b32dfe49
parent72ede12551af320b6d8eade853dbd2cd6f2222cc (diff)
Show lines changed as -n/+m in shortlogs
This is way more informative than the total number of changed lines. Suggested-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--ui-log.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/ui-log.c b/ui-log.c
index 9f5fdf6..e5f3c57 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -8,12 +8,18 @@
#include "cgit.h"
-int files, lines;
+int files, add_lines, rem_lines;
void count_lines(char *line, int size)
{
- if (size>0 && (line[0] == '+' || line[0] == '-'))
- lines++;
+ if (size <= 0)
+ return;
+
+ if (line[0] == '+')
+ add_lines++;
+
+ else if (line[0] == '-')
+ rem_lines++;
}
void inspect_files(struct diff_filepair *pair)
@@ -35,13 +41,14 @@ void print_commit(struct commit *commit)
sha1_to_hex(commit->object.sha1));
if (cgit_repo->enable_log_filecount) {
files = 0;
- lines = 0;
+ add_lines = 0;
+ rem_lines = 0;
cgit_diff_commit(commit, inspect_files);
html("</td><td class='right'>");
htmlf("%d", files);
if (cgit_repo->enable_log_linecount) {
html("</td><td class='right'>");
- htmlf("%d", lines);
+ htmlf("-%d/+%d", rem_lines, add_lines);
}
}
html("</td><td>");
@@ -88,9 +95,9 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
"<th class='left'>Message</th>");
if (cgit_repo->enable_log_filecount) {
- html("<th class='left'>Files</th>");
+ html("<th class='right'>Files</th>");
if (cgit_repo->enable_log_linecount)
- html("<th class='left'>Lines</th>");
+ html("<th class='right'>Lines</th>");
}
html("<th class='left'>Author</th></tr>\n");