diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2007-06-05 11:44:47 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2007-06-05 11:44:53 +0200 | 
| commit | 4a6201e318d1db69d126f08a3d80ce2d5cf7ac01 (patch) | |
| tree | e551dce744ec35e21f0ecae8fcda37fdb58ab8d1 | |
| parent | 51a960a3ca6b0cade97db287a342996c3e1de48d (diff) | |
ui-diff: emit table/tr/td at better locations
This fixes a bug which made the diff-link for each parent of a commit
output a diff without correct styles.
It also adds an error-message if the head commit specified on the querystring
isn't a valid commit object.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| -rw-r--r-- | ui-diff.c | 16 | 
1 files changed, 7 insertions, 9 deletions
| @@ -96,16 +96,16 @@ void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex,  	unsigned long size;  	struct commit *commit; +	html("<table class='diff'>"); +	html("<tr><td>"); +  	if (head && !old_hex && !new_hex) {  		get_sha1(head, sha1);  		commit = lookup_commit_reference(sha1); -		if (commit && !parse_commit(commit)) { -			html("<table class='diff'>"); -			html("<tr><td>"); +		if (commit && !parse_commit(commit))  			cgit_diff_commit(commit, filepair_cb); -			html("</td></tr>"); -			html("</table>"); -		} +		else +			cgit_print_error(fmt("Bad commit: %s", head));  		return;  	} @@ -121,14 +121,11 @@ void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex,  		}  	} -	html("<table class='diff'>");  	switch(type) {  	case OBJ_BLOB: -		html("<tr><td>");  		header(sha1, path, 0644, sha2, path, 0644);  		if (cgit_diff_files(sha1, sha2, print_line))  			cgit_print_error("Error running diff"); -		html("</td></tr>");  		break;  	case OBJ_TREE:  		cgit_diff_tree(sha1, sha2, filepair_cb); @@ -138,5 +135,6 @@ void cgit_print_diff(const char *head, const char *old_hex, const char *new_hex,  				     typename(type)));  		break;  	} +	html("</td></tr>");  	html("</table>");  } | 
