From a342ac6b4d7830f82230b0f6a29bc9378d66747e Mon Sep 17 00:00:00 2001 From: Lars Hjemli Date: Mon, 14 May 2007 18:31:05 +0200 Subject: cgit.css: try to make diffs look a little bit nicer This makes the diffview look more like 'git-diff' in a terminal. Signed-off-by: Lars Hjemli --- cgit.css | 13 ++++++------- ui-diff.c | 32 ++++++++++++++++++++++++++------ 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/cgit.css b/cgit.css index 97ae4d1..53c93f2 100644 --- a/cgit.css +++ b/cgit.css @@ -294,19 +294,18 @@ div.diffstat-summary { padding-top: 0.5em; } -table.diff th { - padding: 1em 0em 0.1em 0.1em; - text-align: left; -} - table.diff td { - border: solid 1px black; font-family: monospace; white-space: pre; } +table.diff td div.head { + font-weight: bold; + padding-top: 1em; +} + table.diff td div.hunk { - background: #ccc; + color: #009; } table.diff td div.add { diff --git a/ui-diff.c b/ui-diff.c index 10330d3..7ec5701 100644 --- a/ui-diff.c +++ b/ui-diff.c @@ -31,12 +31,33 @@ static void print_line(char *line, int len) line[len-1] = c; } -static void filepair_cb(struct diff_filepair *pair) +static void header(unsigned char *sha1, char *path1, + unsigned char *sha2, char *path2) { - html(""); - html_txt(pair->two->path); - html(""); + char *abbrev1, *abbrev2; + html(""); + html("
"); + html("diff --git a/"); + html_txt(path1); + html(" b/"); + html_txt(path2); + abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV)); + abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV)); + htmlf("\nindex %s..%s", abbrev1, abbrev2); + free(abbrev1); + free(abbrev2); + html("\n--- a/"); + html_txt(path1); + html("\n+++ b/"); + html_txt(path2); + html("
"); +} + +static void filepair_cb(struct diff_filepair *pair) +{ + header(pair->one->sha1, pair->one->path, + pair->two->sha1, pair->two->path); if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line)) cgit_print_error("Error running diff"); html(""); @@ -63,9 +84,8 @@ void cgit_print_diff(const char *old_hex, const char *new_hex, char *path) html(""); switch(type) { case OBJ_BLOB: - if (path) - htmlf("", path); html(""); -- cgit v1.2.3-54-g00ecf '>root/ui-commit.c
blob: a11bc5f3b00d21368c3ba826e7060aeb14de83d7 (plain)
%s
"); + header(sha1, path, sha2, path); if (cgit_diff_files(sha1, sha2, print_line)) cgit_print_error("Error running diff"); html("
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131