diff options
| author | 2007-05-15 01:31:05 (JST) | |
|---|---|---|
| committer | 2007-05-15 05:43:38 (JST) | |
| commit | a342ac6b4d7830f82230b0f6a29bc9378d66747e (patch) | |
| tree | 49782a205d9eb73c2b63f77cfc554d898681cf1a | |
| parent | a1a0cd8b5a62fe779d77c210a3d455398ce06bb7 (diff) | |
| download | cgit-a342ac6b4d7830f82230b0f6a29bc9378d66747e.zip cgit-a342ac6b4d7830f82230b0f6a29bc9378d66747e.tar.gz | |
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 <hjemli@gmail.com>
| -rw-r--r-- | cgit.css | 13 | ||||
| -rw-r--r-- | ui-diff.c | 32 |
2 files changed, 32 insertions, 13 deletions
| @@ -294,19 +294,18 @@ div.diffstat-summary { | |||
| 294 | padding-top: 0.5em; | 294 | padding-top: 0.5em; |
| 295 | } | 295 | } |
| 296 | 296 | ||
| 297 | table.diff th { | ||
| 298 | padding: 1em 0em 0.1em 0.1em; | ||
| 299 | text-align: left; | ||
| 300 | } | ||
| 301 | |||
| 302 | table.diff td { | 297 | table.diff td { |
| 303 | border: solid 1px black; | ||
| 304 | font-family: monospace; | 298 | font-family: monospace; |
| 305 | white-space: pre; | 299 | white-space: pre; |
| 306 | } | 300 | } |
| 307 | 301 | ||
| 302 | table.diff td div.head { | ||
| 303 | font-weight: bold; | ||
| 304 | padding-top: 1em; | ||
| 305 | } | ||
| 306 | |||
| 308 | table.diff td div.hunk { | 307 | table.diff td div.hunk { |
| 309 | background: #ccc; | 308 | color: #009; |
| 310 | } | 309 | } |
| 311 | 310 | ||
| 312 | table.diff td div.add { | 311 | table.diff td div.add { |
| @@ -31,12 +31,33 @@ static void print_line(char *line, int len) | |||
| 31 | line[len-1] = c; | 31 | line[len-1] = c; |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | static void filepair_cb(struct diff_filepair *pair) | 34 | static void header(unsigned char *sha1, char *path1, |
| 35 | unsigned char *sha2, char *path2) | ||
| 35 | { | 36 | { |
| 36 | html("<tr><th>"); | 37 | char *abbrev1, *abbrev2; |
| 37 | html_txt(pair->two->path); | 38 | |
| 38 | html("</th></tr>"); | ||
| 39 | html("<tr><td>"); | 39 | html("<tr><td>"); |
| 40 | html("<div class='head'>"); | ||
| 41 | html("diff --git a/"); | ||
| 42 | html_txt(path1); | ||
| 43 | html(" b/"); | ||
| 44 | html_txt(path2); | ||
| 45 | abbrev1 = xstrdup(find_unique_abbrev(sha1, DEFAULT_ABBREV)); | ||
| 46 | abbrev2 = xstrdup(find_unique_abbrev(sha2, DEFAULT_ABBREV)); | ||
| 47 | htmlf("\nindex %s..%s", abbrev1, abbrev2); | ||
| 48 | free(abbrev1); | ||
| 49 | free(abbrev2); | ||
| 50 | html("\n--- a/"); | ||
| 51 | html_txt(path1); | ||
| 52 | html("\n+++ b/"); | ||
| 53 | html_txt(path2); | ||
| 54 | html("</div>"); | ||
| 55 | } | ||
| 56 | |||
| 57 | static void filepair_cb(struct diff_filepair *pair) | ||
| 58 | { | ||
| 59 | header(pair->one->sha1, pair->one->path, | ||
| 60 | pair->two->sha1, pair->two->path); | ||
| 40 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line)) | 61 | if (cgit_diff_files(pair->one->sha1, pair->two->sha1, print_line)) |
| 41 | cgit_print_error("Error running diff"); | 62 | cgit_print_error("Error running diff"); |
| 42 | html("</tr></td>"); | 63 | html("</tr></td>"); |
| @@ -63,9 +84,8 @@ void cgit_print_diff(const char *old_hex, const char *new_hex, char *path) | |||
| 63 | html("<table class='diff'>"); | 84 | html("<table class='diff'>"); |
| 64 | switch(type) { | 85 | switch(type) { |
| 65 | case OBJ_BLOB: | 86 | case OBJ_BLOB: |
| 66 | if (path) | ||
| 67 | htmlf("<tr><th>%s</th></tr>", path); | ||
| 68 | html("<tr><td>"); | 87 | html("<tr><td>"); |
| 88 | header(sha1, path, sha2, path); | ||
| 69 | if (cgit_diff_files(sha1, sha2, print_line)) | 89 | if (cgit_diff_files(sha1, sha2, print_line)) |
| 70 | cgit_print_error("Error running diff"); | 90 | cgit_print_error("Error running diff"); |
| 71 | html("</tr></td>"); | 91 | html("</tr></td>"); |
