From 3d33b46df24d4dee140d0aafb1eba5fffa314cf0 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 24 Jul 2017 17:22:52 +0200 Subject: git: update to v2.13.4 Update to git version v2.13.4: With commit 8aee769f (pathspec: copy and free owned memory) the definition of struct pathspec_item has changed with the expectation that pathspecs will be managed dynamically. We work around this a bit by setting up a static structure, but let's allocate the match string to avoid needing to cast away const. Updated a patch from John Keeping for git v2.12.1. --- shared.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'shared.c') diff --git a/shared.c b/shared.c index c63f1e3..13a65a9 100644 --- a/shared.c +++ b/shared.c @@ -352,7 +352,7 @@ void cgit_diff_tree(const struct object_id *old_oid, opt.format_callback = cgit_diff_tree_cb; opt.format_callback_data = fn; if (prefix) { - item.match = prefix; + item.match = xstrdup(prefix); item.len = strlen(prefix); opt.pathspec.nr = 1; opt.pathspec.items = &item; @@ -365,6 +365,8 @@ void cgit_diff_tree(const struct object_id *old_oid, diff_root_tree_sha1(new_oid->hash, "", &opt); diffcore_std(&opt); diff_flush(&opt); + + free(item.match); } void cgit_diff_commit(struct commit *commit, filepair_fn fn, const char *prefix) -- cgit v1.2.3-24-g4f1b From 86a6d358f7a6c2432fde86b9e3c5011a656f20e4 Mon Sep 17 00:00:00 2001 From: Jeff Smith Date: Wed, 9 Aug 2017 19:02:56 -0500 Subject: git: update to v2.14 Numerous changes were made to git functions to use an object_id structure rather than sending sha1 hashes as raw unsigned character arrays. The functions that affect cgit are: parse_object, lookup_commit_reference, lookup_tag, lookup_tree, parse_tree_indirect, diff_root_tree_sha1, diff_tree_sha1, and format_display_notes. Commit b2141fc (config: don't include config.h by default) made it necessary to that config.h be explicitly included when needed. Commit 07a3d41 (grep: remove regflags from the public grep_opt API) removed one way of specifying the ignore-case grep option. Signed-off-by: Jeff Smith --- shared.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'shared.c') diff --git a/shared.c b/shared.c index 13a65a9..df3f611 100644 --- a/shared.c +++ b/shared.c @@ -160,7 +160,7 @@ static struct refinfo *cgit_mk_refinfo(const char *refname, const struct object_ ref = xmalloc(sizeof (struct refinfo)); ref->refname = xstrdup(refname); - ref->object = parse_object(oid->hash); + ref->object = parse_object(oid); switch (ref->object->type) { case OBJ_TAG: ref->tag = cgit_parse_tag((struct tag *)ref->object); @@ -360,9 +360,9 @@ void cgit_diff_tree(const struct object_id *old_oid, diff_setup_done(&opt); if (old_oid && !is_null_oid(old_oid)) - diff_tree_sha1(old_oid->hash, new_oid->hash, "", &opt); + diff_tree_oid(old_oid, new_oid, "", &opt); else - diff_root_tree_sha1(new_oid->hash, "", &opt); + diff_root_tree_oid(new_oid, "", &opt); diffcore_std(&opt); diff_flush(&opt); -- cgit v1.2.3-24-g4f1b From 1dd53e3a2ffec730ec27ebe15b3d63e0b417a544 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Thu, 18 Jan 2018 09:19:31 +0100 Subject: git: update to v2.16.0 Update to git version v2.16.0: * refs: convert resolve_ref_unsafe to struct object_id (49e61479be913f67e66bb3fdf8de9475c41b58bd) * diff: remove DIFF_OPT_SET macro (23dcf77f48feb49c54bad09210f093a799816334) * log: add option to choose which refs to decorate (65516f586b69307f977cd67cc45513a296cabc25) * diff: convert flags to be stored in bitfields (02f2f56bc377c287c411947d0e1482aac888f8db) Signed-off-by: Christian Hesse --- shared.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'shared.c') diff --git a/shared.c b/shared.c index df3f611..21ac8f4 100644 --- a/shared.c +++ b/shared.c @@ -346,7 +346,7 @@ void cgit_diff_tree(const struct object_id *old_oid, opt.output_format = DIFF_FORMAT_CALLBACK; opt.detect_rename = 1; opt.rename_limit = ctx.cfg.renamelimit; - DIFF_OPT_SET(&opt, RECURSIVE); + opt.flags.recursive = 1; if (ignorews) DIFF_XDL_SET(&opt, IGNORE_WHITESPACE); opt.format_callback = cgit_diff_tree_cb; -- cgit v1.2.3-24-g4f1b