aboutsummaryrefslogtreecommitdiff
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)
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"