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

[PATCH v2 10/11] read-cache.c: remove the_* from index_has_changes()

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Jan 12, 2019, 02:13 UTC
Message-ID
<20190112021332.11066-11-pclouds@gmail.com>
In-Reply-To
<20190112021332.11066-1-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 builtin/am.c      |  6 +++---
 cache.h           |  6 +++---
 merge-recursive.c |  2 +-
 read-cache.c      | 12 +++++-------
 4 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/builtin/am.c b/builtin/am.c
index 611712dc95..a9ffc92eaa 100644
--- a/builtin/am.c
+++ b/builtin/am.c
@@ -1719,7 +1719,7 @@ static void am_run(struct am_state *state, int resume)
 
 	refresh_and_write_cache();
 
-	if (index_has_changes(&the_index, NULL, &sb)) {
+	if (repo_index_has_changes(the_repository, NULL, &sb)) {
 		write_state_bool(state, "dirtyindex", 1);
 		die(_("Dirty index: cannot apply patches (dirty: %s)"), sb.buf);
 	}
@@ -1777,7 +1777,7 @@ static void am_run(struct am_state *state, int resume)
 			 * the result may have produced the same tree as ours.
 			 */
 			if (!apply_status &&
-			    !index_has_changes(&the_index, NULL, NULL)) {
+			    !repo_index_has_changes(the_repository, NULL, NULL)) {
 				say(state, stdout, _("No changes -- Patch already applied."));
 				goto next;
 			}
@@ -1831,7 +1831,7 @@ static void am_resolve(struct am_state *state)
 
 	say(state, stdout, _("Applying: %.*s"), linelen(state->msg), state->msg);
 
-	if (!index_has_changes(&the_index, NULL, NULL)) {
+	if (!repo_index_has_changes(the_repository, NULL, NULL)) {
 		printf_ln(_("No changes - did you forget to use 'git add'?\n"
 			"If there is nothing left to stage, chances are that something else\n"
 			"already introduced the same changes; you might want to skip this patch."));
diff --git a/cache.h b/cache.h
index fdcd69bfb0..326e73f391 100644
--- a/cache.h
+++ b/cache.h
@@ -706,9 +706,9 @@ extern int unmerged_index(const struct index_state *);
  * provided, the space-separated list of files that differ will be appended
  * to it.
  */
-extern int index_has_changes(struct index_state *istate,
-			     struct tree *tree,
-			     struct strbuf *sb);
+extern int repo_index_has_changes(struct repository *repo,
+				  struct tree *tree,
+				  struct strbuf *sb);
 
 extern int verify_path(const char *path, unsigned mode);
 extern int strcmp_offset(const char *s1, const char *s2, size_t *first_change);
diff --git a/merge-recursive.c b/merge-recursive.c
index a596d95739..df00896b25 100644
--- a/merge-recursive.c
+++ b/merge-recursive.c
@@ -3412,7 +3412,7 @@ int merge_trees(struct merge_options *o,
 	int code, clean;
 	struct strbuf sb = STRBUF_INIT;
 
-	if (!o->call_depth && index_has_changes(istate, head, &sb)) {
+	if (!o->call_depth && repo_index_has_changes(o->repo, head, &sb)) {
 		err(o, _("Your local changes to the following files would be overwritten by merge:\n  %s"),
 		    sb.buf);
 		return -1;
diff --git a/read-cache.c b/read-cache.c
index 61cc0571da..2549477ed2 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -2365,22 +2365,20 @@ int unmerged_index(const struct index_state *istate)
 	return 0;
 }
 
-int index_has_changes(struct index_state *istate,
-		      struct tree *tree,
-		      struct strbuf *sb)
+int repo_index_has_changes(struct repository *repo,
+			   struct tree *tree,
+			   struct strbuf *sb)
 {
+	struct index_state *istate = repo->index;
 	struct object_id cmp;
 	int i;
 
-	if (istate != &the_index) {
-		BUG("index_has_changes cannot yet accept istate != &the_index; do_diff_cache needs updating first.");
-	}
 	if (tree)
 		cmp = tree->object.oid;
 	if (tree || !get_oid_tree("HEAD", &cmp)) {
 		struct diff_options opt;
 
-		repo_diff_setup(the_repository, &opt);
+		repo_diff_setup(repo, &opt);
 		opt.flags.exit_with_status = 1;
 		if (!sb)
 			opt.flags.quick = 1;
-- 
2.20.0.482.g66447595a7
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 24 of 25 in “Remove the_index, the final part”
  1. 00/10 Remove the_index, the final partNguyễn Thái Ngọc Duy, Jan 5, 2019
  2. 01/10 notes-utils.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Jan 5, 2019
  3. 02/10 repository.c: replace hold_locked_index() with repo_hold_locked_index()Nguyễn Thái Ngọc Duy, Jan 5, 2019
  4. Martin ÅgrenJan 5, 2019
  5. Duy NguyenJan 7, 2019
  6. 03/10 checkout: avoid the_index when possibleNguyễn Thái Ngọc Duy, Jan 5, 2019
  7. 04/10 read-cache.c: kill read_index()Nguyễn Thái Ngọc Duy, Jan 5, 2019
  8. 05/10 read-cache.c: replace update_index_if_able with repo_&Nguyễn Thái Ngọc Duy, Jan 5, 2019
  9. 06/10 sha1-name.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Jan 5, 2019
  10. 07/10 merge-recursive.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Jan 5, 2019
  11. 08/10 merge-recursive.c: remove implicit dependency on the_repositoryNguyễn Thái Ngọc Duy, Jan 5, 2019
  12. 09/10 read-cache.c: remove the_* from index_has_changes()Nguyễn Thái Ngọc Duy, Jan 5, 2019
  13. 10/10 cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switchNguyễn Thái Ngọc Duy, Jan 5, 2019
  14. 00/11 Remove the_index, the final partNguyễn Thái Ngọc Duy, Jan 12, 2019
  15. 01/11 grep: use grep_opt->repo instead of explict repo argumentNguyễn Thái Ngọc Duy, Jan 12, 2019
  16. 02/11 notes-utils.c: remove the_repository referencesNguyễn Thái Ngọc Duy, Jan 12, 2019
  17. 03/11 repository.c: replace hold_locked_index() with repo_hold_locked_index()Nguyễn Thái Ngọc Duy, Jan 12, 2019
  18. 04/11 checkout: avoid the_index when possibleNguyễn Thái Ngọc Duy, Jan 12, 2019
  19. 05/11 read-cache.c: kill read_index()Nguyễn Thái Ngọc Duy, Jan 12, 2019
  20. 06/11 read-cache.c: replace update_index_if_able with repo_&Nguyễn Thái Ngọc Duy, Jan 12, 2019
  21. 07/11 sha1-name.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Jan 12, 2019
  22. 08/11 merge-recursive.c: remove implicit dependency on the_indexNguyễn Thái Ngọc Duy, Jan 12, 2019
  23. 09/11 merge-recursive.c: remove implicit dependency on the_repositoryNguyễn Thái Ngọc Duy, Jan 12, 2019
  24. 10/11 read-cache.c: remove the_* from index_has_changes()Nguyễn Thái Ngọc Duy, Jan 12, 2019
  25. 11/11 cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switchNguyễn Thái Ngọc Duy, Jan 12, 2019

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.