diff options
author | Christian Hesse <mail@eworm.de> | 2016-09-04 12:38:18 +0200 |
---|---|---|
committer | Christian Hesse <mail@eworm.de> | 2016-09-04 12:38:18 +0200 |
commit | 11695a58fd732689be486edf88d145578a787c89 (patch) | |
tree | ab397b8346d89a01ecc1d99350e81f1bd7cbe7a4 /shared.c | |
parent | Fix qry.head leak on error (diff) | |
download | cgit-pink-11695a58fd732689be486edf88d145578a787c89.tar.gz cgit-pink-11695a58fd732689be486edf88d145578a787c89.zip |
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 '')
-rw-r--r-- | shared.c | 28 |
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); } |