summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--Makefile2
m---------git0
-rw-r--r--ui-atom.c2
-rw-r--r--ui-blame.c4
-rw-r--r--ui-blob.c9
-rw-r--r--ui-log.c4
-rw-r--r--ui-plain.c3
-rw-r--r--ui-stats.c2
-rw-r--r--ui-tree.c10
9 files changed, 21 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index e690c7f..40f4fd8 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.20.0
+GIT_VER = 2.21.0
 GIT_URL = https://www.kernel.org/pub/software/scm/git/git-$(GIT_VER).tar.xz
 INSTALL = install
 COPYTREE = cp -r
diff --git a/git b/git
-Subproject 5d826e972970a784bd7a7bdf587512510097b8c
+Subproject 8104ec994ea3849a968b4667d072fedd1e68864
diff --git a/ui-atom.c b/ui-atom.c
index cd66f82..1056f36 100644
--- a/ui-atom.c
+++ b/ui-atom.c
@@ -140,7 +140,7 @@ void cgit_print_atom(char *tip, const char *path, int max_count)
 	}
 	while ((commit = get_revision(&rev)) != NULL) {
 		add_entry(commit, host);
-		free_commit_buffer(commit);
+		free_commit_buffer(the_repository->parsed_objects, commit);
 		free_commit_list(commit->parents);
 		commit->parents = NULL;
 	}
diff --git a/ui-blame.c b/ui-blame.c
index c52cb9b..644c30a 100644
--- a/ui-blame.c
+++ b/ui-blame.c
@@ -290,8 +290,8 @@ void cgit_print_blame(void)
 	walk_tree_ctx.match_baselen = (path_items.match) ?
 				       basedir_len(path_items.match) : -1;
 
-	read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree,
-		&walk_tree_ctx);
+	read_tree_recursive(the_repository, commit->maybe_tree, "", 0, 0,
+		&paths, walk_tree, &walk_tree_ctx);
 	if (!walk_tree_ctx.state)
 		cgit_print_error_page(404, "Not found", "Not found");
 	else if (walk_tree_ctx.state == 2)
diff --git a/ui-blob.c b/ui-blob.c
index 4b6b462..30e2d4b 100644
--- a/ui-blob.c
+++ b/ui-blob.c
@@ -56,7 +56,8 @@ int cgit_ref_path_exists(const char *path, const char *ref, int file_only)
 		goto done;
 	if (oid_object_info(the_repository, &oid, &size) != OBJ_COMMIT)
 		goto done;
-	read_tree_recursive(lookup_commit_reference(the_repository, &oid)->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+	read_tree_recursive(the_repository, lookup_commit_reference(the_repository, &oid)->maybe_tree,
+		"", 0, 0, &paths, walk_tree, &walk_tree_ctx);
 
 done:
 	free(path_items.match);
@@ -90,7 +91,8 @@ int cgit_print_file(char *path, const char *head, int file_only)
 	type = oid_object_info(the_repository, &oid, &size);
 	if (type == OBJ_COMMIT) {
 		commit = lookup_commit_reference(the_repository, &oid);
-		read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+		read_tree_recursive(the_repository, commit->maybe_tree,
+			"", 0, 0, &paths, walk_tree, &walk_tree_ctx);
 		if (!walk_tree_ctx.found_path)
 			return -1;
 		type = oid_object_info(the_repository, &oid, &size);
@@ -146,7 +148,8 @@ void cgit_print_blob(const char *hex, char *path, const char *head, int file_onl
 
 	if ((!hex) && type == OBJ_COMMIT && path) {
 		commit = lookup_commit_reference(the_repository, &oid);
-		read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+		read_tree_recursive(the_repository, commit->maybe_tree,
+			"", 0, 0, &paths, walk_tree, &walk_tree_ctx);
 		type = oid_object_info(the_repository, &oid, &size);
 	}
 
diff --git a/ui-log.c b/ui-log.c
index 8c65425..dc5cb1e 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -488,7 +488,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
 	for (i = 0; i < ofs && (commit = get_revision(&rev)) != NULL; /* nop */) {
 		if (show_commit(commit, &rev))
 			i++;
-		free_commit_buffer(commit);
+		free_commit_buffer(the_repository->parsed_objects, commit);
 		free_commit_list(commit->parents);
 		commit->parents = NULL;
 	}
@@ -510,7 +510,7 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
 			i++;
 			print_commit(commit, &rev);
 		}
-		free_commit_buffer(commit);
+		free_commit_buffer(the_repository->parsed_objects, commit);
 		free_commit_list(commit->parents);
 		commit->parents = NULL;
 	}
diff --git a/ui-plain.c b/ui-plain.c
index 070c34b..b73c1cf 100644
--- a/ui-plain.c
+++ b/ui-plain.c
@@ -198,7 +198,8 @@ void cgit_print_plain(void)
 	}
 	else
 		walk_tree_ctx.match_baselen = basedir_len(path_items.match);
-	read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+	read_tree_recursive(the_repository, commit->maybe_tree,
+		"", 0, 0, &paths, walk_tree, &walk_tree_ctx);
 	if (!walk_tree_ctx.match)
 		cgit_print_error_page(404, "Not found", "Not found");
 	else if (walk_tree_ctx.match == 2)
diff --git a/ui-stats.c b/ui-stats.c
index 7acd358..7272a61 100644
--- a/ui-stats.c
+++ b/ui-stats.c
@@ -241,7 +241,7 @@ static struct string_list collect_stats(const struct cgit_period *period)
 	memset(&authors, 0, sizeof(authors));
 	while ((commit = get_revision(&rev)) != NULL) {
 		add_commit(&authors, commit, period);
-		free_commit_buffer(commit);
+		free_commit_buffer(the_repository->parsed_objects, commit);
 		free_commit_list(commit->parents);
 		commit->parents = NULL;
 	}
diff --git a/ui-tree.c b/ui-tree.c
index 314ac52..4be89c8 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -185,8 +185,8 @@ static void write_tree_link(const struct object_id *oid, char *name,
 		tree_ctx.name = NULL;
 		tree_ctx.count = 0;
 
-		read_tree_recursive(tree, "", 0, 1, &paths, single_tree_cb,
-				    &tree_ctx);
+		read_tree_recursive(the_repository, tree, "", 0, 1,
+			&paths, single_tree_cb, &tree_ctx);
 
 		if (tree_ctx.count != 1)
 			break;
@@ -294,7 +294,8 @@ static void ls_tree(const struct object_id *oid, const char *path, struct walk_t
 	}
 
 	ls_head();
-	read_tree_recursive(tree, "", 0, 1, &paths, ls_item, walk_tree_ctx);
+	read_tree_recursive(the_repository, tree, "", 0, 1,
+		&paths, ls_item, walk_tree_ctx);
 	ls_tail();
 }
 
@@ -373,7 +374,8 @@ void cgit_print_tree(const char *rev, char *path)
 		goto cleanup;
 	}
 
-	read_tree_recursive(commit->maybe_tree, "", 0, 0, &paths, walk_tree, &walk_tree_ctx);
+	read_tree_recursive(the_repository, commit->maybe_tree, "", 0, 0,
+		&paths, walk_tree, &walk_tree_ctx);
 	if (walk_tree_ctx.state == 1)
 		ls_tail();
 	else if (walk_tree_ctx.state == 2)