about summary refs log tree commit
path: root/shared.c
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2016-09-04 12:38:18 +0200
committerChristian Hesse <mail@eworm.de>2016-09-04 12:38:18 +0200
commit11695a58fd732689be486edf88d145578a787c89 (patch)
treeab397b8346d89a01ecc1d99350e81f1bd7cbe7a4 /shared.c
parentff9893ac8192579a00dd4c73ddff18ab232099a6 (diff)
downloadcgit-11695a58fd732689be486edf88d145578a787c89.tar.gz
git: update to v2.10.0
Upstream continues to replace unsigned char *sha1 with struct
object_id old_oid. This makes the required changes.

The git lib has its own main function now. Rename our main function
to cmd_main, it is called from main then.
Diffstat (limited to 'shared.c')
-rw-r--r--shared.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/shared.c b/shared.c
index a63633b..a48eea6 100644
--- a/shared.c
+++ b/shared.c
@@ -263,15 +263,15 @@ void cgit_diff_tree_cb(struct diff_queue_struct *q,
         }
 }
 
-static int load_mmfile(mmfile_t *file, const unsigned char *sha1)
+static int load_mmfile(mmfile_t *file, const struct object_id *oid)
 {
         enum object_type type;
 
-        if (is_null_sha1(sha1)) {
+        if (is_null_oid(oid)) {
                 file->ptr = (char *)"";
                 file->size = 0;
         } else {
-                file->ptr = read_sha1_file(sha1, &type,
+                file->ptr = read_sha1_file(oid->hash, &type,
                                            (unsigned long *)&file->size);
         }
         return 1;
@@ -322,8 +322,8 @@ static int filediff_cb(void *priv, mmbuffer_t *mb, int nbuf)
         return 0;
 }
 
-int cgit_diff_files(const unsigned char *old_sha1,
-                    const unsigned char *new_sha1, unsigned long *old_size,
+int cgit_diff_files(const struct object_id *old_oid,
+                    const struct object_id *new_oid, unsigned long *old_size,
                     unsigned long *new_size, int *binary, int context,
                     int ignorews, linediff_fn fn)
 {
@@ -332,7 +332,7 @@ int cgit_diff_files(const unsigned char *old_sha1,
         xdemitconf_t emit_params;
         xdemitcb_t emit_cb;
 
-        if (!load_mmfile(&file1, old_sha1) || !load_mmfile(&file2, new_sha1))
+        if (!load_mmfile(&file1, old_oid) || !load_mmfile(&file2, new_oid))
                 return 1;
 
         *old_size = file1.size;
@@ -366,8 +366,8 @@ int cgit_diff_files(const unsigned char *old_sha1,
         return 0;
 }
 
-void cgit_diff_tree(const unsigned char *old_sha1,
-                    const unsigned char *new_sha1,
+void cgit_diff_tree(const struct object_id *old_oid,
+                    const struct object_id *new_oid,
                     filepair_fn fn, const char *prefix, int ignorews)
 {
         struct diff_options opt;
@@ -391,21 +391,21 @@ void cgit_diff_tree(const unsigned char *old_sha1,
         }
         diff_setup_done(&opt);
 
-        if (old_sha1 && !is_null_sha1(old_sha1))
-                diff_tree_sha1(old_sha1, new_sha1, "", &opt);
+        if (old_oid && !is_null_oid(old_oid))
+                diff_tree_sha1(old_oid->hash, new_oid->hash, "", &opt);
         else
-                diff_root_tree_sha1(new_sha1, "", &opt);
+                diff_root_tree_sha1(new_oid->hash, "", &opt);
         diffcore_std(&opt);
         diff_flush(&opt);
 }
 
 void cgit_diff_commit(struct commit *commit, filepair_fn fn, const char *prefix)
 {
-        unsigned char *old_sha1 = NULL;
+        const struct object_id *old_oid = NULL;
 
         if (commit->parents)
-                old_sha1 = commit->parents->item->object.oid.hash;
-        cgit_diff_tree(old_sha1, commit->object.oid.hash, fn, prefix,
+                old_oid = &commit->parents->item->object.oid;
+        cgit_diff_tree(old_oid, &commit->object.oid, fn, prefix,
                        ctx.qry.ignorews);
 }