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

[PATCH v2 05/22] notes-merge.c: remove implicit dependency on the_index

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Nov 10, 2018, 05:48 UTC
Message-ID
<20181110054910.10568-6-pclouds@gmail.com>
In-Reply-To
<20181110054910.10568-1-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 builtin/notes.c |  2 +-
 notes-merge.c   | 12 +++++++-----
 notes-merge.h   |  5 ++++-
 3 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/builtin/notes.c b/builtin/notes.c
index c05cd004ab..15a6c78855 100644
--- a/builtin/notes.c
+++ b/builtin/notes.c
@@ -808,7 +808,7 @@ static int merge(int argc, const char **argv, const char *prefix)
 		usage_with_options(git_notes_merge_usage, options);
 	}
 
-	init_notes_merge_options(&o);
+	init_notes_merge_options(the_repository, &o);
 	o.verbosity = verbosity + NOTES_MERGE_VERBOSITY_DEFAULT;
 
 	if (do_abort)
diff --git a/notes-merge.c b/notes-merge.c
index bd05d50b05..0c22f09b28 100644
--- a/notes-merge.c
+++ b/notes-merge.c
@@ -18,11 +18,13 @@ struct notes_merge_pair {
 	struct object_id obj, base, local, remote;
 };
 
-void init_notes_merge_options(struct notes_merge_options *o)
+void init_notes_merge_options(struct repository *r,
+			      struct notes_merge_options *o)
 {
 	memset(o, 0, sizeof(struct notes_merge_options));
 	strbuf_init(&(o->commit_msg), 0);
 	o->verbosity = NOTES_MERGE_VERBOSITY_DEFAULT;
+	o->repo = r;
 }
 
 static int path_to_oid(const char *path, struct object_id *oid)
@@ -127,7 +129,7 @@ static struct notes_merge_pair *diff_tree_remote(struct notes_merge_options *o,
 	trace_printf("\tdiff_tree_remote(base = %.7s, remote = %.7s)\n",
 	       oid_to_hex(base), oid_to_hex(remote));
 
-	repo_diff_setup(the_repository, &opt);
+	repo_diff_setup(o->repo, &opt);
 	opt.flags.recursive = 1;
 	opt.output_format = DIFF_FORMAT_NO_OUTPUT;
 	diff_setup_done(&opt);
@@ -190,7 +192,7 @@ static void diff_tree_local(struct notes_merge_options *o,
 	trace_printf("\tdiff_tree_local(len = %i, base = %.7s, local = %.7s)\n",
 	       len, oid_to_hex(base), oid_to_hex(local));
 
-	repo_diff_setup(the_repository, &opt);
+	repo_diff_setup(o->repo, &opt);
 	opt.flags.recursive = 1;
 	opt.output_format = DIFF_FORMAT_NO_OUTPUT;
 	diff_setup_done(&opt);
@@ -350,7 +352,7 @@ static int ll_merge_in_worktree(struct notes_merge_options *o,
 
 	status = ll_merge(&result_buf, oid_to_hex(&p->obj), &base, NULL,
 			  &local, o->local_ref, &remote, o->remote_ref,
-			  &the_index, NULL);
+			  o->repo->index, NULL);
 
 	free(base.ptr);
 	free(local.ptr);
@@ -711,7 +713,7 @@ int notes_merge_commit(struct notes_merge_options *o,
 		/* write file as blob, and add to partial_tree */
 		if (stat(path.buf, &st))
 			die_errno("Failed to stat '%s'", path.buf);
-		if (index_path(&the_index, &blob_oid, path.buf, &st, HASH_WRITE_OBJECT))
+		if (index_path(o->repo->index, &blob_oid, path.buf, &st, HASH_WRITE_OBJECT))
 			die("Failed to write blob object from '%s'", path.buf);
 		if (add_note(partial_tree, &obj_oid, &blob_oid, NULL))
 			die("Failed to add resolved note '%s' to notes tree",
diff --git a/notes-merge.h b/notes-merge.h
index 6c74e9385b..99f9c709c5 100644
--- a/notes-merge.h
+++ b/notes-merge.h
@@ -6,6 +6,7 @@
 
 struct commit;
 struct object_id;
+struct repository;
 
 #define NOTES_MERGE_WORKTREE "NOTES_MERGE_WORKTREE"
 
@@ -15,6 +16,7 @@ enum notes_merge_verbosity {
 };
 
 struct notes_merge_options {
+	struct repository *repo;
 	const char *local_ref;
 	const char *remote_ref;
 	struct strbuf commit_msg;
@@ -23,7 +25,8 @@ struct notes_merge_options {
 	unsigned has_worktree:1;
 };
 
-void init_notes_merge_options(struct notes_merge_options *o);
+void init_notes_merge_options(struct repository *r,
+			      struct notes_merge_options *o);
 
 /*
  * Merge notes from o->remote_ref into o->local_ref
-- 
2.19.1.1231.g84aef82467
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 5 of 24 in “Kill the_index part 5”
  1. 00/22 Kill the_index part 5Nguyễn Thái Ngọc Duy, Nov 10, 2018
  2. 01/22 wt-status.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Nov 10, 2018
  3. 03/22 list-objects-filter.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Nov 10, 2018
  4. 04/22 list-objects.c: reduce the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  5. 05/22 notes-merge.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Nov 10, 2018
  6. 06/22 notes-merge.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Nov 10, 2018
  7. 07/22 transport.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Nov 10, 2018
  8. 08/22 sequencer.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Nov 10, 2018
  9. 09/22 sequencer.c: remove implicit dependency on the_repositoryNguyễn Thái Ngọc Duy, Nov 10, 2018
  10. 11/22 bisect.c: remove the_repository referenceNguyễn Thái Ngọc Duy, Nov 10, 2018
  11. 12/22 branch.c: remove the_repository referenceNguyễn Thái Ngọc Duy, Nov 10, 2018
  12. 14/22 cache-tree.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  13. 15/22 delta-islands.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  14. 17/22 line-log.c: remove the_repository referenceNguyễn Thái Ngọc Duy, Nov 10, 2018
  15. 18/22 notes-cache.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  16. 19/22 pack-check.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  17. 20/22 pack-*.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  18. 21/22 rerere.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  19. 22/22 rebase-interactive.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  20. 16/22 diff-lib.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  21. 13/22 bundle.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Nov 10, 2018
  22. 10/22 blame.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Nov 10, 2018
  23. 02/22 wt-status.c: remove implicit dependency the_repositoryNguyễn Thái Ngọc Duy, Nov 10, 2018
  24. Junio C HamanoNov 12, 2018

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.