about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Hesse <mail@eworm.de>2024-07-16 09:45:13 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2024-08-02 18:22:56 +0200
commit09d24d7cd0b7e85633f2f43808b12871bb209d69 (patch)
tree221e441f0d95d0f59c16ea81401a705a2777d98c
parentfix building with clang (diff)
downloadcgit-magenta-09d24d7cd0b7e85633f2f43808b12871bb209d69.tar.xz
git: update to v2.46.0
Update to git version v2.46.0, this requires changes for these
upstream commits:

* e7da9385708accf518a80a1e17969020fb361048
  global: introduce `USE_THE_REPOSITORY_VARIABLE` macro

* 9da95bda74cf10e1475384a71fd20914c3b99784
  hash: require hash algorithm in `oidread()` and `oidclr()`

* 30aaff437fddd889ba429b50b96ea4c151c502c5
  refs: pass repo when peeling objects

* c8f815c2083c4b340d4148a15d45c55f2fcc7d3f
  refs: remove functions without ref store

Signed-off-by: Christian Hesse <mail@eworm.de>
-rw-r--r--Makefile2
-rw-r--r--cgit.c8
m---------git0
-rw-r--r--parsing.c2
-rw-r--r--shared.c2
-rw-r--r--ui-atom.c2
-rw-r--r--ui-blame.c2
-rw-r--r--ui-blob.c2
-rw-r--r--ui-clone.c5
-rw-r--r--ui-commit.c2
-rw-r--r--ui-diff.c4
-rw-r--r--ui-log.c5
-rw-r--r--ui-patch.c4
-rw-r--r--ui-plain.c2
-rw-r--r--ui-refs.c11
-rw-r--r--ui-shared.c8
-rw-r--r--ui-snapshot.c2
-rw-r--r--ui-stats.c2
-rw-r--r--ui-tag.c2
-rw-r--r--ui-tree.c2
20 files changed, 57 insertions, 12 deletions
diff --git a/Makefile b/Makefile

index 1eb64ea..7f8a5cb 100644 --- a/Makefile +++ b/Makefile
@@ -14,7 +14,7 @@ htmldir = $(docdir) pdfdir = $(docdir) mandir = $(prefix)/share/man SHA1_HEADER = <openssl/sha.h> -GIT_VER = 2.45.2 +GIT_VER = 2.46.0 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz INSTALL = install COPYTREE = cp -r diff --git a/cgit.c b/cgit.c
index e616292..2efa962 100644 --- a/cgit.c +++ b/cgit.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "cache.h" #include "cmd.h" @@ -473,7 +475,8 @@ static char *find_default_branch(struct cgit_repo *repo) info.req_ref = repo->defbranch; info.first_ref = NULL; info.match = 0; - for_each_branch_ref(find_current_ref, &info); + refs_for_each_branch_ref(get_main_ref_store(the_repository), + find_current_ref, &info); if (info.match) ref = info.req_ref; else @@ -490,7 +493,8 @@ static char *guess_defbranch(void) const char *ref, *refname; struct object_id oid; - ref = resolve_ref_unsafe("HEAD", 0, &oid, NULL); + ref = refs_resolve_ref_unsafe(get_main_ref_store(the_repository), + "HEAD", 0, &oid, NULL); if (!ref || !skip_prefix(ref, "refs/heads/", &refname)) return "master"; return xstrdup(refname); diff --git a/git b/git -Subproject bea9ecd24b0c3bf06cab4a851694fe09e7e5140 +Subproject 39bf06adf96da25b87c9aa7d35a32ef3683eb4a diff --git a/parsing.c b/parsing.c
index dc44ffd..5616d43 100644 --- a/parsing.c +++ b/parsing.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" /* diff --git a/shared.c b/shared.c
index 26b6ddb..ae3f6c1 100644 --- a/shared.c +++ b/shared.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" struct cgit_repolist cgit_repolist; diff --git a/ui-atom.c b/ui-atom.c
index 636cb7e..0659e96 100644 --- a/ui-atom.c +++ b/ui-atom.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-atom.h" #include "html.h" diff --git a/ui-blame.c b/ui-blame.c
index e0f0593..d07b67f 100644 --- a/ui-blame.c +++ b/ui-blame.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-blame.h" #include "html.h" diff --git a/ui-blob.c b/ui-blob.c
index 08f94ee..e554fe9 100644 --- a/ui-blob.c +++ b/ui-blob.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-blob.h" #include "html.h" diff --git a/ui-clone.c b/ui-clone.c
index 5dccb63..df196a0 100644 --- a/ui-clone.c +++ b/ui-clone.c
@@ -7,6 +7,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-clone.h" #include "html.h" @@ -87,7 +89,8 @@ void cgit_clone_info(void) ctx.page.mimetype = "text/plain"; ctx.page.filename = "info/refs"; cgit_print_http_headers(); - for_each_ref(print_ref_info, NULL); + refs_for_each_ref(get_main_ref_store(the_repository), + print_ref_info, NULL); } void cgit_clone_objects(void) diff --git a/ui-commit.c b/ui-commit.c
index 30672d0..972e9bc 100644 --- a/ui-commit.c +++ b/ui-commit.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-commit.h" #include "html.h" diff --git a/ui-diff.c b/ui-diff.c
index 6f42dd4..a824546 100644 --- a/ui-diff.c +++ b/ui-diff.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-diff.h" #include "html.h" @@ -424,7 +426,7 @@ void cgit_print_diff(const char *new_rev, const char *old_rev, } else if (commit->parents && commit->parents->item) { oidcpy(old_rev_oid, &commit->parents->item->object.oid); } else { - oidclr(old_rev_oid); + oidclr(old_rev_oid, the_repository->hash_algo); } if (!is_null_oid(old_rev_oid)) { diff --git a/ui-log.c b/ui-log.c
index 50d479d..ee2a607 100644 --- a/ui-log.c +++ b/ui-log.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-log.h" #include "html.h" @@ -80,7 +82,8 @@ void show_commit_decorations(struct commit *commit) ctx.qry.showmsg, 0); break; case DECORATION_REF_TAG: - if (!read_ref(deco->name, &oid_tag) && !peel_iterated_oid(&oid_tag, &peeled)) + if (!refs_read_ref(get_main_ref_store(the_repository), deco->name, &oid_tag) && + !peel_iterated_oid(the_repository, &oid_tag, &peeled)) is_annotated = !oideq(&oid_tag, &peeled); cgit_tag_link(buf, NULL, is_annotated ? "tag-annotated-deco" : "tag-deco", buf); break; diff --git a/ui-patch.c b/ui-patch.c
index 3819a81..f9d2eeb 100644 --- a/ui-patch.c +++ b/ui-patch.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-patch.h" #include "html.h" @@ -57,7 +59,7 @@ void cgit_print_patch(const char *new_rev, const char *old_rev, } else if (commit->parents && commit->parents->item) { oidcpy(&old_rev_oid, &commit->parents->item->object.oid); } else { - oidclr(&old_rev_oid); + oidclr(&old_rev_oid, the_repository->hash_algo); } if (is_null_oid(&old_rev_oid)) { diff --git a/ui-plain.c b/ui-plain.c
index a66c5a1..4d69607 100644 --- a/ui-plain.c +++ b/ui-plain.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-plain.h" #include "html.h" diff --git a/ui-refs.c b/ui-refs.c
index 456f610..11fb9fc 100644 --- a/ui-refs.c +++ b/ui-refs.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-refs.h" #include "html.h" @@ -155,9 +157,11 @@ void cgit_print_branches(int maxcount) list.refs = NULL; list.alloc = list.count = 0; - for_each_branch_ref(cgit_refs_cb, &list); + refs_for_each_branch_ref(get_main_ref_store(the_repository), + cgit_refs_cb, &list); if (ctx.repo->enable_remote_branches) - for_each_remote_ref(cgit_refs_cb, &list); + refs_for_each_remote_ref(get_main_ref_store(the_repository), + cgit_refs_cb, &list); if (maxcount == 0 || maxcount > list.count) maxcount = list.count; @@ -182,7 +186,8 @@ void cgit_print_tags(int maxcount) list.refs = NULL; list.alloc = list.count = 0; - for_each_tag_ref(cgit_refs_cb, &list); + refs_for_each_tag_ref(get_main_ref_store(the_repository), + cgit_refs_cb, &list); if (list.count == 0) return; qsort(list.refs, list.count, sizeof(*list.refs), cmp_tag_age); diff --git a/ui-shared.c b/ui-shared.c
index d5b5b20..6fae72d 100644 --- a/ui-shared.c +++ b/ui-shared.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-shared.h" #include "cmd.h" @@ -1041,9 +1043,11 @@ static void print_header(void) html("<form method='get'>\n"); cgit_add_hidden_formfields(0, 1, ctx.qry.page); html("<select name='h' onchange='this.form.submit();'>\n"); - for_each_branch_ref(print_branch_option, ctx.qry.head); + refs_for_each_branch_ref(get_main_ref_store(the_repository), + print_branch_option, ctx.qry.head); if (ctx.repo->enable_remote_branches) - for_each_remote_ref(print_branch_option, ctx.qry.head); + refs_for_each_remote_ref(get_main_ref_store(the_repository), + print_branch_option, ctx.qry.head); html("</select> "); html("<input type='submit' value='switch'/>"); html("</form>"); diff --git a/ui-snapshot.c b/ui-snapshot.c
index 9f629a9..3e38cd5 100644 --- a/ui-snapshot.c +++ b/ui-snapshot.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-snapshot.h" #include "html.h" diff --git a/ui-stats.c b/ui-stats.c
index 1ac67da..02c60ef 100644 --- a/ui-stats.c +++ b/ui-stats.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-stats.h" #include "html.h" diff --git a/ui-tag.c b/ui-tag.c
index 5354827..3b11226 100644 --- a/ui-tag.c +++ b/ui-tag.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ +#define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-tag.h" #include "html.h" diff --git a/ui-tree.c b/ui-tree.c
index 0640336..3d8a2eb 100644 --- a/ui-tree.c +++ b/ui-tree.c
@@ -6,6 +6,8 @@ * (see COPYING for full license text) */ + #define USE_THE_REPOSITORY_VARIABLE + #include "cgit.h" #include "ui-tree.h" #include "html.h"