git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 7/8] blame: simplify 'setup_scoreboard' interface

From
Philippe Blain via GitGitGadget <gitgitgadget@gmail.com>
Date
Nov 1, 2020, 17:28 UTC
Message-ID
<3b28696e51a9ba370d25b70844b9fb57a4bfaab2.1604251728.git.gitgitgadget@gmail.com>
In-Reply-To
<pull.774.v2.git.1604251727.gitgitgadget@gmail.com>
From: Philippe Blain <levraiphilippeblain@gmail.com>

The previous commit moved the initialization of 'sb.path' in 'builtin/blame.c::cmd_blame' before the call to 'blame.c::setup_scoreboard'. Since 'cmd_blame' is the only caller of 'setup_scoreboard', it is now unnecessary for 'setup_scoreboard' to receive 'path' as a separate argument, as 'sb.path' is already initialized.

Remove this argument from setup_scoreboard's interface and use the 'path' field of the 'sb' 'struct blame_scoreboard' instead.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 blame.c         | 11 +++++------
 blame.h         |  1 -
 builtin/blame.c |  2 +-
 3 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/blame.c b/blame.c
index 686845b2b4..128cb7ba55 100644
--- a/blame.c
+++ b/blame.c
@@ -2764,7 +2764,6 @@ void init_scoreboard(struct blame_scoreboard *sb)
 }
 
 void setup_scoreboard(struct blame_scoreboard *sb,
-		      const char *path,
 		      struct blame_origin **orig)
 {
 	const char *final_commit_name = NULL;
@@ -2803,7 +2802,7 @@ void setup_scoreboard(struct blame_scoreboard *sb,
 		setup_work_tree();
 		sb->final = fake_working_tree_commit(sb->repo,
 						     &sb->revs->diffopt,
-						     path, sb->contents_from);
+						     sb->path, sb->contents_from);
 		add_pending_object(sb->revs, &(sb->final->object), ":");
 	}
 
@@ -2846,12 +2845,12 @@ void setup_scoreboard(struct blame_scoreboard *sb,
 		sb->final_buf_size = o->file.size;
 	}
 	else {
-		o = get_origin(sb->final, path);
+		o = get_origin(sb->final, sb->path);
 		if (fill_blob_sha1_and_mode(sb->repo, o))
-			die(_("no such path %s in %s"), path, final_commit_name);
+			die(_("no such path %s in %s"), sb->path, final_commit_name);
 
 		if (sb->revs->diffopt.flags.allow_textconv &&
-		    textconv_object(sb->repo, path, o->mode, &o->blob_oid, 1, (char **) &sb->final_buf,
+		    textconv_object(sb->repo, sb->path, o->mode, &o->blob_oid, 1, (char **) &sb->final_buf,
 				    &sb->final_buf_size))
 			;
 		else
@@ -2861,7 +2860,7 @@ void setup_scoreboard(struct blame_scoreboard *sb,
 		if (!sb->final_buf)
 			die(_("cannot read blob %s for path %s"),
 			    oid_to_hex(&o->blob_oid),
-			    path);
+			    sb->path);
 	}
 	sb->num_read_blob++;
 	prepare_lines(sb);
diff --git a/blame.h b/blame.h
index b6bbee4147..e8c185c8ef 100644
--- a/blame.h
+++ b/blame.h
@@ -181,7 +181,6 @@ const char *blame_nth_line(struct blame_scoreboard *sb, long lno);
 
 void init_scoreboard(struct blame_scoreboard *sb);
 void setup_scoreboard(struct blame_scoreboard *sb,
-		      const char *path,
 		      struct blame_origin **orig);
 void setup_blame_bloom_data(struct blame_scoreboard *sb,
 			    const char *path);
diff --git a/builtin/blame.c b/builtin/blame.c
index f2e528fcbc..5d8f4c4599 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -1085,7 +1085,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
 	build_ignorelist(&sb, &ignore_revs_file_list, &ignore_rev_list);
 	string_list_clear(&ignore_revs_file_list, 0);
 	string_list_clear(&ignore_rev_list, 0);
-	setup_scoreboard(&sb, path, &o);
+	setup_scoreboard(&sb, &o);
 
 	/*
 	 * Changed-path Bloom filters are disabled when looking
-- 
gitgitgadget
Previous: Philippe Blain via GitGitGadget
Message 30 of 30 in “blame: enable funcname blaming with userdiff driver”
  1. 0/6 blame: enable funcname blaming with userdiff driverPhilippe Blain via GitGitGadget, Oct 28, 2020
  2. 3/6 blame-options.txt: also mention 'funcname' in '-L' descriptionPhilippe Blain via GitGitGadget, Oct 28, 2020
  3. Junio C HamanoOct 29, 2020
  4. Philippe BlainOct 31, 2020
  5. 6/6 blame: enable funcname blaming with userdiff driverPhilippe Blain via GitGitGadget, Oct 28, 2020
  6. Junio C HamanoOct 29, 2020
  7. Philippe BlainOct 31, 2020
  8. Junio C HamanoOct 31, 2020
  9. 4/6 doc: add more pointers to gitattributes(5) for userdiffPhilippe Blain via GitGitGadget, Oct 28, 2020
  10. Eric SunshineOct 28, 2020
  11. 5/6 line-log: mention both modes in 'blame' and 'log' short helpPhilippe Blain via GitGitGadget, Oct 28, 2020
  12. Eric SunshineOct 28, 2020
  13. Philippe BlainOct 29, 2020
  14. 2/6 doc: line-range: improve formattingPhilippe Blain via GitGitGadget, Oct 28, 2020
  15. Eric SunshineOct 28, 2020
  16. Junio C HamanoOct 29, 2020
  17. Philippe BlainOct 31, 2020
  18. 1/6 doc: log, gitk: move '-L' description to 'line-range-options.txt'Philippe Blain via GitGitGadget, Oct 28, 2020
  19. Junio C HamanoOct 29, 2020
  20. Philippe BlainOct 31, 2020
  21. Junio C HamanoOct 31, 2020
  22. 0/8 blame: enable funcname blaming with userdiff driverPhilippe Blain via GitGitGadget, Nov 1, 2020
  23. 1/8 doc: log, gitk: move '-L' description to 'line-range-options.txt'Philippe Blain via GitGitGadget, Nov 1, 2020
  24. 3/8 blame-options.txt: also mention 'funcname' in '-L' descriptionPhilippe Blain via GitGitGadget, Nov 1, 2020
  25. 4/8 doc: add more pointers to gitattributes(5) for userdiffPhilippe Blain via GitGitGadget, Nov 1, 2020
  26. 5/8 line-log: mention both modes in 'blame' and 'log' short helpPhilippe Blain via GitGitGadget, Nov 1, 2020
  27. 2/8 doc: line-range: improve formattingPhilippe Blain via GitGitGadget, Nov 1, 2020
  28. 6/8 blame: enable funcname blaming with userdiff driverPhilippe Blain via GitGitGadget, Nov 1, 2020
  29. 8/8 blame: simplify 'setup_blame_bloom_data' interfacePhilippe Blain via GitGitGadget, Nov 1, 2020
  30. 7/8 blame: simplify 'setup_scoreboard' interfacePhilippe Blain via GitGitGadget, Nov 1, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.