author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2010-12-23 11:47:55 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2011-02-19 13:41:39 (UTC) |
commit | e52040bf90b034aebbfa32756638a24d6b1b3712 (patch) (side-by-side diff) | |
tree | ba2db3037cb486fb40a8c85a62b5a393d5035924 /ui-diff.c | |
parent | 808c685ebb7cd2d24d3881b74e3be2439bd1393b (diff) | |
download | cgit-e52040bf90b034aebbfa32756638a24d6b1b3712.zip cgit-e52040bf90b034aebbfa32756638a24d6b1b3712.tar.gz cgit-e52040bf90b034aebbfa32756638a24d6b1b3712.tar.bz2 |
ssdiff: anchors for ssdiff
Emit anchors to the respective revisions in side-by-side diff view
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-diff.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -29,16 +29,27 @@ static struct fileinfo { unsigned int added; unsigned int removed; unsigned long old_size; unsigned long new_size; int binary:1; } *items; static int use_ssdiff = 0; +static struct diff_filepair *current_filepair; + +struct diff_filespec *cgit_get_current_old_file(void) +{ + return current_filepair->one; +} + +struct diff_filespec *cgit_get_current_new_file(void) +{ + return current_filepair->two; +} static void print_fileinfo(struct fileinfo *info) { char *class; switch (info->status) { case DIFF_STATUS_ADDED: class = "add"; @@ -279,16 +290,17 @@ static void print_ssdiff_link() static void filepair_cb(struct diff_filepair *pair) { unsigned long old_size = 0; unsigned long new_size = 0; int binary = 0; linediff_fn print_line_fn = print_line; + current_filepair = pair; if (use_ssdiff) { cgit_ssdiff_header_begin(); print_line_fn = cgit_ssdiff_line_cb; } header(pair->one->sha1, pair->one->path, pair->one->mode, pair->two->sha1, pair->two->path, pair->two->mode); if (use_ssdiff) cgit_ssdiff_header_end(); |