neocgit

a more 'modern' version of cgit
Log | Files | Refs | Submodules | README | LICENSE | git clone https://git.ne02ptzero.me/git/neocgit

commit aee990b6a4512e52b1279a0633d112afe2440122
parent ef3108656b9c6e22604c18bd9d05bdc847d81e87
Author: Christian Hesse <mail@eworm.de>
Date:   Thu, 29 Sep 2016 21:16:14 +0200

cgit: replace 'unsigned char sha1[20]' with 'struct object_id oid'

Upstream git is replacing 'unsigned char sha1[20]' with 'struct object_id
oid'. We have some code that can be changed independent from upstream. So
here we go...

Diffstat:
Mcgit.c | 9+++++----
1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/cgit.c b/cgit.c @@ -471,13 +471,14 @@ static char *find_default_branch(struct cgit_repo *repo) static char *guess_defbranch(void) { const char *ref; - unsigned char sha1[20]; + struct object_id oid; - ref = resolve_ref_unsafe("HEAD", 0, sha1, NULL); + ref = resolve_ref_unsafe("HEAD", 0, oid.hash, NULL); if (!ref || !starts_with(ref, "refs/heads/")) return "master"; return xstrdup(ref + 11); } + /* The caller must free filename and ref after calling this. */ static inline void parse_readme(const char *readme, char **filename, char **ref, struct cgit_repo *repo) { @@ -557,7 +558,7 @@ static void print_no_repo_clone_urls(const char *url) static int prepare_repo_cmd(void) { - unsigned char sha1[20]; + struct object_id oid; int nongit = 0; int rc; @@ -615,7 +616,7 @@ static int prepare_repo_cmd(void) return 1; } - if (get_sha1(ctx.qry.head, sha1)) { + if (get_oid(ctx.qry.head, &oid)) { char *old_head = ctx.qry.head; ctx.qry.head = xstrdup(ctx.repo->defbranch); cgit_print_error_page(404, "Not found",