about summary refs log tree commit diff
path: root/ui-log.c
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 /ui-log.c
parentDon't show the the branch selector button if javascript is enabled (diff)
downloadcgit-pink-d04c4734bcf40b1d17c55b18fba2aa8344678e8f.tar.gz
cgit-pink-d04c4734bcf40b1d17c55b18fba2aa8344678e8f.zip
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>
Diffstat (limited to 'ui-log.c')
-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");
 
00'>2018-03-05Pack message type enumsJune McEnroe 2018-03-05Undef COLOR_ constants in torus.hJune McEnroe 2018-03-05Generate tagsJune McEnroe 2017-10-03Simplify Makefile with pattern ruleJune McEnroe Insert rant about how GNU make handles the .c rule with extra dependencies. Also I don't care that everything links curses now. 2017-09-27Remove leading blank linesJune McEnroe 2017-09-27Add merge.c to READMEJune McEnroe 2017-09-03Assert client coords are valid after movementJune McEnroe 2017-09-03Relicense AGPLJune McEnroe I know it's already published under a permissive license in what is probably its final form, but I want to license it AGPL anyway on principle following some conversations I had about open source, corporations and copyleft. 2017-09-01Revert "Add client readOnly mode"June McEnroe This reverts commit 34f25ae40a3db9369e9d98b3814f2b93bbc21451. 2017-09-01Remove clientRemove call from clientCastJune McEnroe If an error occurs on a client socket during a broadcast, that client will show up in the kqueue loop with EV_EOF and get removed that way. Tested by sending SIGKILL to a client and watching its cursor disappear. 2017-09-01Add client readOnly modeJune McEnroe 2017-08-31Clean up merge toolJune McEnroe Choose the version with the most recent access if the modify times are the same. 2017-08-31Choose B for tiles with equal modify timesJune McEnroe This way newer access counts and times will be preserved. 2017-08-31Add quick data file merge toolJune McEnroe Hopefully I won't have to use it ever again. 2017-08-30Use only foreground color for selecting spawnJune McEnroe 2017-08-29Add four additional spawnsJune McEnroe 2017-08-28Add respawningJune McEnroe 2017-08-26Move license above includesJune McEnroe Why was it down there? 2017-08-26Snapshot metadataJune McEnroe 2017-08-26Add meta.c to READMEJune McEnroe 2017-08-26Use MakefileJune McEnroe