about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorLars Hjemli2007-10-01 11:46:38 +0200
committerLars Hjemli2007-10-01 11:46:38 +0200
commit1a6025b7a515a23ab4c83f4a5da468e00e4f0a38 (patch)
tree897fb29bf0d48a6c472221d6a2a32188dfcf8df9
parentAdd prefix parameter to cgit_diff_tree() (diff)
downloadcgit-1a6025b7a515a23ab4c83f4a5da468e00e4f0a38.tar.gz
cgit-1a6025b7a515a23ab4c83f4a5da468e00e4f0a38.zip
Add prefix parameter to cgit_print_diff()
This allows a diff to be restricted to the path prefix specified in the url.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.c2
-rw-r--r--cgit.h2
-rw-r--r--ui-diff.c4
3 files changed, 4 insertions, 4 deletions
diff --git a/cgit.c b/cgit.c index c86d290..1b85b15 100644 --- a/cgit.c +++ b/cgit.c
@@ -107,7 +107,7 @@ static void cgit_print_repo_page(struct cacheitem *item)
107 cgit_print_tag(cgit_query_sha1); 107 cgit_print_tag(cgit_query_sha1);
108 break; 108 break;
109 case CMD_DIFF: 109 case CMD_DIFF:
110 cgit_print_diff(cgit_query_sha1, cgit_query_sha2); 110 cgit_print_diff(cgit_query_sha1, cgit_query_sha2, cgit_query_path);
111 break; 111 break;
112 default: 112 default:
113 cgit_print_error("Invalid request"); 113 cgit_print_error("Invalid request");
diff --git a/cgit.h b/cgit.h index 5ef0bc5..e96311f 100644 --- a/cgit.h +++ b/cgit.h
@@ -238,7 +238,7 @@ extern void cgit_print_blob(struct cacheitem *item, const char *hex, char *path)
238extern void cgit_print_tree(const char *rev, char *path); 238extern void cgit_print_tree(const char *rev, char *path);
239extern void cgit_print_commit(char *hex); 239extern void cgit_print_commit(char *hex);
240extern void cgit_print_tag(char *revname); 240extern void cgit_print_tag(char *revname);
241extern void cgit_print_diff(const char *new_hex, const char *old_hex); 241extern void cgit_print_diff(const char *new_hex, const char *old_hex, const char *prefix);
242extern void cgit_print_snapshot(struct cacheitem *item, const char *head, 242extern void cgit_print_snapshot(struct cacheitem *item, const char *head,
243 const char *hex, const char *prefix, 243 const char *hex, const char *prefix,
244 const char *filename, int snapshot); 244 const char *filename, int snapshot);
diff --git a/ui-diff.c b/ui-diff.c index 11a2ff8..ba0030f 100644 --- a/ui-diff.c +++ b/ui-diff.c
@@ -89,7 +89,7 @@ static void filepair_cb(struct diff_filepair *pair)
89 cgit_print_error("Error running diff"); 89 cgit_print_error("Error running diff");
90} 90}
91 91
92void cgit_print_diff(const char *new_rev, const char *old_rev) 92void cgit_print_diff(const char *new_rev, const char *old_rev, const char *prefix)
93{ 93{
94 unsigned char sha1[20], sha2[20]; 94 unsigned char sha1[20], sha2[20];
95 enum object_type type; 95 enum object_type type;
@@ -133,7 +133,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev)
133 } 133 }
134 html("<table class='diff'>"); 134 html("<table class='diff'>");
135 html("<tr><td>"); 135 html("<tr><td>");
136 cgit_diff_tree(sha2, sha1, filepair_cb, NULL); 136 cgit_diff_tree(sha2, sha1, filepair_cb, prefix);
137 html("</td></tr>"); 137 html("</td></tr>");
138 html("</table>"); 138 html("</table>");
139} 139}