Author: Lars Hjemli <hjemli@gmail.com>
Add support for tree listing via h parameter This makes the tree page benefit from repo.defbranch. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
ui-tree.c | 10 ++++++++++
diff --git a/ui-tree.c b/ui-tree.c index db63e13fe7e2b5d13d28f55c75345a79bd0422e7..032a96607d3ce37cd5f00166293d2eb20615c972 100644 --- a/ui-tree.c +++ b/ui-tree.c @@ -69,8 +69,18 @@ void cgit_print_tree(const char *rev, const char *hex, char *path) { struct tree *tree; unsigned char sha1[20]; + struct commit *commit; curr_rev = xstrdup(rev); + get_sha1(rev, sha1); + commit = lookup_commit_reference(sha1); + if (!commit || parse_commit(commit)) { + cgit_print_error(fmt("Invalid head: %s", rev)); + return; + } + if (!hex) + hex = sha1_to_hex(commit->tree->object.sha1); + if (get_sha1_hex(hex, sha1)) { cgit_print_error(fmt("Invalid object id: %s", hex)); return;