From: Christian Hesse <[email protected]>

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...

Signed-off-by: Christian Hesse <[email protected]>
---
 ui-patch.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/ui-patch.c b/ui-patch.c
index 4c051e8..fd6316b 100644
--- a/ui-patch.c
+++ b/ui-patch.c
@@ -16,7 +16,7 @@ void cgit_print_patch(const char *new_rev, const char 
*old_rev,
 {
        struct rev_info rev;
        struct commit *commit;
-       unsigned char new_rev_sha1[20], old_rev_sha1[20];
+       struct object_id new_rev_oid, old_rev_oid;
        char rev_range[2 * 40 + 3];
        char *rev_argv[] = { NULL, "--reverse", "--format=email", rev_range };
        char *patchname;
@@ -24,12 +24,12 @@ void cgit_print_patch(const char *new_rev, const char 
*old_rev,
        if (!new_rev)
                new_rev = ctx.qry.head;
 
-       if (get_sha1(new_rev, new_rev_sha1)) {
+       if (get_oid(new_rev, &new_rev_oid)) {
                cgit_print_error_page(404, "Not found",
                                "Bad object id: %s", new_rev);
                return;
        }
-       commit = lookup_commit_reference(new_rev_sha1);
+       commit = lookup_commit_reference(new_rev_oid.hash);
        if (!commit) {
                cgit_print_error_page(404, "Not found",
                                "Bad commit reference: %s", new_rev);
@@ -37,27 +37,27 @@ void cgit_print_patch(const char *new_rev, const char 
*old_rev,
        }
 
        if (old_rev) {
-               if (get_sha1(old_rev, old_rev_sha1)) {
+               if (get_oid(old_rev, &old_rev_oid)) {
                        cgit_print_error_page(404, "Not found",
                                        "Bad object id: %s", old_rev);
                        return;
                }
-               if (!lookup_commit_reference(old_rev_sha1)) {
+               if (!lookup_commit_reference(old_rev_oid.hash)) {
                        cgit_print_error_page(404, "Not found",
                                        "Bad commit reference: %s", old_rev);
                        return;
                }
        } else if (commit->parents && commit->parents->item) {
-               hashcpy(old_rev_sha1, commit->parents->item->object.oid.hash);
+               oidcpy(&old_rev_oid, &commit->parents->item->object.oid);
        } else {
-               hashclr(old_rev_sha1);
+               oidclr(&old_rev_oid);
        }
 
-       if (is_null_sha1(old_rev_sha1)) {
-               memcpy(rev_range, sha1_to_hex(new_rev_sha1), 41);
+       if (is_null_oid(&old_rev_oid)) {
+               memcpy(rev_range, oid_to_hex(&new_rev_oid), GIT_SHA1_HEXSZ + 1);
        } else {
-               sprintf(rev_range, "%s..%s", sha1_to_hex(old_rev_sha1),
-                       sha1_to_hex(new_rev_sha1));
+               sprintf(rev_range, "%s..%s", oid_to_hex(&old_rev_oid),
+                       oid_to_hex(&new_rev_oid));
        }
 
        patchname = fmt("%s.patch", rev_range);
-- 
2.10.0

_______________________________________________
CGit mailing list
[email protected]
http://lists.zx2c4.com/mailman/listinfo/cgit

Reply via email to