about summary refs log tree commit diff
path: root/ui-blame.c
diff options
context:
space:
mode:
authorVincent Ambo <mail@tazj.in>2020-11-21T18·58+0100
committerVincent Ambo <mail@tazj.in>2020-11-21T18·58+0100
commit5d4756e75ce12a6b67af3a16193f10047ba05218 (patch)
treed631c73d8c7a9d2856e4be6ac25faf1cbed588cd /ui-blame.c
parent723dc8fbcb1a4609c264758eae420ee2811a2b55 (diff)
Squashed 'third_party/cgit/' changes from 8fc0c81bbb..adcc4f822f
adcc4f822f tests: try with commit-graph
a1039ab175 tests: do not copy snapshots to /tmp/
a4de0e810b global: replace hard coded hash length
779631c6dc global: replace references to 'sha1' with 'oid'
629659d2cf git: update to v2.29.0
205837d468 git: update to v2.28.0
f780396c0a git: update to v2.27.0
0462f08d85 git: update to v2.26.0
55fa25adb0 Bump version
6a8d6d4b50 global: use proper accessors for maybe_tree
892ba8c3cc ui-snapshot: add support for zstd compression
cc230bf044 tests: add tests for xz compressed snapshots
06671f4b21 ui-snapshot: add support for lzip compression
fde897b817 git: update to v2.25.1
5e49023b01 tests: allow to skip git version tests
fa146ccabd Bump version
bd68c98879 git: update to v2.25.0
ca98c9e7bf tests: skip tests if strace is not functional
d8e5dd25a0 git: update to v2.24.1
583aa5d80e ui-repolist: do not return unsigned (negative) value
bfabd4519c git: update to v2.24.0

git-subtree-dir: third_party/cgit
git-subtree-split: adcc4f822fe11836e5f942fc1ae0f00db4eb8d5f
Diffstat (limited to 'ui-blame.c')
-rw-r--r--ui-blame.c20
1 files changed, 11 insertions, 9 deletions
diff --git a/ui-blame.c b/ui-blame.c
index 644c30ad28..cfab7fb98f 100644
--- a/ui-blame.c
+++ b/ui-blame.c
@@ -10,7 +10,7 @@
 #include "ui-blame.h"
 #include "html.h"
 #include "ui-shared.h"
-#include "argv-array.h"
+#include "strvec.h"
 #include "blame.h"
 
 
@@ -48,7 +48,7 @@ static void emit_blame_entry_hash(struct blame_entry *ent)
 	unsigned long line = 0;
 
 	char *detail = emit_suspect_detail(suspect);
-	html("<span class='sha1'>");
+	html("<span class='oid'>");
 	cgit_commit_link(find_unique_abbrev(oid, DEFAULT_ABBREV), detail,
 			 NULL, ctx.qry.head, oid_to_hex(oid), suspect->path);
 	html("</span>");
@@ -104,7 +104,7 @@ static void print_object(const struct object_id *oid, const char *path,
 	enum object_type type;
 	char *buf;
 	unsigned long size;
-	struct argv_array rev_argv = ARGV_ARRAY_INIT;
+	struct strvec rev_argv = STRVEC_INIT;
 	struct rev_info revs;
 	struct blame_scoreboard sb;
 	struct blame_origin *o;
@@ -124,11 +124,11 @@ static void print_object(const struct object_id *oid, const char *path,
 		return;
 	}
 
-	argv_array_push(&rev_argv, "blame");
-	argv_array_push(&rev_argv, rev);
+	strvec_push(&rev_argv, "blame");
+	strvec_push(&rev_argv, rev);
 	init_revisions(&revs, NULL);
 	revs.diffopt.flags.allow_textconv = 1;
-	setup_revisions(rev_argv.argc, rev_argv.argv, &revs, NULL);
+	setup_revisions(rev_argv.nr, rev_argv.v, &revs, NULL);
 	init_scoreboard(&sb);
 	sb.revs = &revs;
 	sb.repo = the_repository;
@@ -256,7 +256,7 @@ static int basedir_len(const char *path)
 
 void cgit_print_blame(void)
 {
-	const char *rev = ctx.qry.sha1;
+	const char *rev = ctx.qry.oid;
 	struct object_id oid;
 	struct commit *commit;
 	struct pathspec_item path_items = {
@@ -290,8 +290,10 @@ void cgit_print_blame(void)
 	walk_tree_ctx.match_baselen = (path_items.match) ?
 				       basedir_len(path_items.match) : -1;
 
-	read_tree_recursive(the_repository, commit->maybe_tree, "", 0, 0,
-		&paths, walk_tree, &walk_tree_ctx);
+	read_tree_recursive(the_repository,
+			    repo_get_commit_tree(the_repository, commit),
+			    "", 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)