Skip to content

Fix incorrect use of the_index

Nguyễn Thái Ngọc Duy git 4 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest23 patches 17 repliesIn review
  2. v320 patches 6 repliesSuperseded
  3. v25 patches 0 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v16 patches4 repliesSuperseded

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/23unpack-trees: remove 'extern' on function declarationunpack-trees.h+2 -20 replies
2/23unpack-trees: add a note about path invalidationunpack-trees.c+11 -00 replies
3/23unpack-trees: don't shadow global var the_indexunpack-trees.c+4 -50 replies
4/23unpack-tress: convert clear_ce_flags* to avoid the_indexunpack-trees.c+18 -133 replies
5/23unpack-trees: avoid the_index in verify_absent()unpack-trees.c+2 -20 replies
6/23attr.h: drop extern from function declarationattr.h+12 -120 replies
7/23attr: remove an implicit dependency on the_indexarchive.c attr.c attr.h +7 more+55 -320 replies
8/23convert.h: drop 'extern' from function declarationconvert.h+29 -270 replies
9/23convert.c: remove an implicit dependency on the_indexapply.c archive.c builtin/cat-file.c +7 more+45 -330 replies
10/23dir.c: remove an implicit dependency on the_index in pathspec codearchive.c builtin/add.c builtin/checkout.c +18 more+54 -450 replies
11/23ls-files: correct index argument to get_convert_attr_ascii()builtin/ls-files.c+9 -80 replies
12/23pathspec.c: use the right index instead of the_indexpathspec.c+1 -10 replies
13/23submodule.c: use the right index instead of the_indexsubmodule.c+4 -40 replies
14/23entry.c: use the right index instead of the_indexbuiltin/checkout-index.c entry.c+7 -40 replies
15/23attr: remove index from git_attr_set_direction()archive.c attr.c attr.h +2 more+8 -181 reply
16/23preload-index.c: use the right index instead of the_indexpreload-index.c+2 -10 replies
17/23read-cache.c: remove an implicit dependency on the_indexapply.c builtin/checkout.c builtin/difftool.c +5 more+24 -203 replies
18/23apply.c: use the right index instead of the_indexapply.c+1 -10 replies
19/23difftool: use the right index instead of the_indexbuiltin/difftool.c+2 -20 replies
20/23checkout: avoid the_index when possiblebuiltin/checkout.c+1 -10 replies
21/23resolve-undo.c: use the right index instead of the_indexresolve-undo.c+3 -20 replies
22/23grep: use the right index instead of the_indexbuiltin/grep.c+2 -20 replies
23/23cache.h: make the_index part of "compatibility macros"cache.h+2 -20 replies

Reviews trailers per patch

None of the 23 patches has a Reviewed-by or Acked-by.

PatchElijah Newren
1/23
2/23
3/23
4/23
5/23Helped-by
6/23
7/23
8/23
9/23
10/23
11/23
12/23
13/23
14/23
15/23
16/23
17/23
18/23
19/23
20/23
21/23
22/23
23/23

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 00/23] Fix incorrect use of the_index

v4 fixes some commit messages and killed a couple more the_index references after I tried to merge this with 'pu'

apply.c +2 -2
index 811ff2ad5e..82f681972f 100644
@@ -4090,9 +4090,9 @@ static int build_fake_ancestor(struct apply_state *state, struct patch *list)
 			return error(_("sha1 information is lacking or useless "
 				       "(%s)."), name);
 
-		ce = make_cache_entry(&the_index, patch->old_mode, oid.hash, name, 0, 0);
+		ce = make_index_entry(&result, patch->old_mode, oid.hash, name, 0, 0);
 		if (!ce)
-			return error(_("make_cache_entry failed for path '%s'"),
+			return error(_("make_index_entry failed for path '%s'"),
 				     name);
 		if (add_index_entry(&result, ce, ADD_CACHE_OK_TO_ADD)) {
 			free(ce);
builtin/checkout.c +2 -2
index 3c8218304e..4dbcab3727 100644
@@ -230,9 +230,9 @@ static int checkout_merged(int pos, const struct checkout *state)
 	if (write_object_file(result_buf.ptr, result_buf.size, blob_type, &oid))
 		die(_("Unable to add merge result for '%s'"), path);
 	free(result_buf.ptr);
-	ce = make_cache_entry(&the_index, mode, oid.hash, path, 2, 0);
+	ce = make_index_entry(state->istate, mode, oid.hash, path, 2, 0);
 	if (!ce)
-		die(_("make_cache_entry failed for path '%s'"), path);
+		die(_("make_index_entry failed for path '%s'"), path);
 	status = checkout_entry(ce, state, NULL);
 	free(ce);
 	return status;
builtin/difftool.c +2 -2
index e34e75a42d..c7d6296762 100644
@@ -321,7 +321,7 @@ static int checkout_path(unsigned mode, struct object_id *oid,
 	struct cache_entry *ce;
 	int ret;
 
-	ce = make_cache_entry(&the_index, mode, oid->hash, path, 0, 0);
+	ce = make_index_entry(state->istate, mode, oid->hash, path, 0, 0);
 	ret = checkout_entry(ce, state, NULL);
 
 	free(ce);
@@ -488,7 +488,7 @@ static int run_dir_diff(const char *extcmd, int symlinks, const char *prefix,
 				 * index.
 				 */
 				struct cache_entry *ce2 =
-					make_cache_entry(&the_index, rmode, roid.hash,
+					make_index_entry(&wtindex, rmode, roid.hash,
 							 dst_path, 0, 0);
 
 				add_index_entry(&wtindex, ce2,
builtin/reset.c +2 -2
index 0ea0a19d5e..067f535031 100644
@@ -134,10 +134,10 @@ static void update_index_from_diff(struct diff_queue_struct *q,
 			continue;
 		}
 
-		ce = make_cache_entry(&the_index, one->mode, one->oid.hash, one->path,
+		ce = make_index_entry(&the_index, one->mode, one->oid.hash, one->path,
 				      0, 0);
 		if (!ce)
-			die(_("make_cache_entry failed for path '%s'"),
+			die(_("make_index_entry failed for path '%s'"),
 			    one->path);
 		if (is_missing) {
 			ce->ce_flags |= CE_INTENT_TO_ADD;
cache.h +1 -1
index 242aaa5498..eb8c79b8a1 100644
@@ -699,7 +699,7 @@ extern int remove_file_from_index(struct index_state *, const char *path);
 extern int add_to_index(struct index_state *, const char *path, struct stat *, int flags);
 extern int add_file_to_index(struct index_state *, const char *path, int flags);
 
-extern struct cache_entry *make_cache_entry(struct index_state *istate,unsigned int mode, const unsigned char *sha1, const char *path, int stage, unsigned int refresh_options);
+extern struct cache_entry *make_index_entry(struct index_state *istate, unsigned int mode, const unsigned char *sha1, const char *path, int stage, unsigned int refresh_options);
 extern int chmod_index_entry(struct index_state *, struct cache_entry *ce, char flip);
 extern int ce_same_name(const struct cache_entry *a, const struct cache_entry *b);
 extern void set_object_name_for_intent_to_add_entry(struct cache_entry *ce);
merge-recursive.c +1 -1
index 9280deb6a1..4f054d6dbb 100644
@@ -315,7 +315,7 @@ static int add_cacheinfo(struct merge_options *o,
 	struct cache_entry *ce;
 	int ret;
 
-	ce = make_cache_entry(&the_index, mode, oid ? oid->hash : null_sha1, path, stage, 0);
+	ce = make_index_entry(&the_index, mode, oid ? oid->hash : null_sha1, path, stage, 0);
 	if (!ce)
 		return err(o, _("add_cacheinfo failed for path '%s'; merge aborting."), path);
 
read-cache.c +1 -1
index c083318aa7..4352aac521 100644
@@ -745,7 +745,7 @@ int add_file_to_index(struct index_state *istate, const char *path, int flags)
 	return add_to_index(istate, path, &st, flags);
 }
 
-struct cache_entry *make_cache_entry(struct index_state *istate,
+struct cache_entry *make_index_entry(struct index_state *istate,
 				     unsigned int mode,
 				     const unsigned char *sha1,
 				     const char *path, int stage,
resolve-undo.c +1 -1
index a4918546c3..2377995d6d 100644
@@ -147,7 +147,7 @@ int unmerge_index_entry_at(struct index_state *istate, int pos)
 		struct cache_entry *nce;
 		if (!ru->mode[i])
 			continue;
-		nce = make_cache_entry(istate, ru->mode[i], ru->oid[i].hash,
+		nce = make_index_entry(istate, ru->mode[i], ru->oid[i].hash,
 				       name, i + 1, 0);
 		if (matched)
 			nce->ce_flags |= CE_MATCHED;

Nguyễn Thái Ngọc Duy (23):
unpack-trees: remove 'extern' on function declaration
unpack-trees: add a note about path invalidation
unpack-trees: don't shadow global var the_index
unpack-tress: convert clear_ce_flags* to avoid the_index
unpack-trees: avoid the_index in verify_absent() attr.h: drop extern from function declaration
attr: remove an implicit dependency on the_index convert.h: drop 'extern' from function declaration convert.c: remove an implicit dependency on the_index dir.c: remove an implicit dependency on the_index in pathspec code
ls-files: correct index argument to get_convert_attr_ascii() pathspec.c: use the right index instead of the_index submodule.c: use the right index instead of the_index entry.c: use the right index instead of the_index
attr: remove index from git_attr_set_direction() preload-index.c: use the right index instead of the_index read-cache.c: remove an implicit dependency on the_index apply.c: use the right index instead of the_index
difftool: use the right index instead of the_index
checkout: avoid the_index when possible
resolve-undo.c: use the right index instead of the_index
grep: use the right index instead of the_index
cache.h: make the_index part of "compatibility macros"

 apply.c                     |  6 ++--
 archive.c                   |  8 ++---
 attr.c                      | 52 ++++++++++++++++++-------------
 attr.h                      | 31 ++++++++++---------
 builtin/add.c               |  6 ++--
 builtin/cat-file.c          |  2 +-
 builtin/check-attr.c        |  6 ++--
 builtin/checkout-index.c    |  1 +
 builtin/checkout.c          |  6 ++--
 builtin/clean.c             |  2 +-
 builtin/commit.c            |  2 +-
 builtin/difftool.c          |  4 +--
 builtin/grep.c              |  6 ++--
 builtin/ls-files.c          | 17 ++++++-----
 builtin/pack-objects.c      |  2 +-
 builtin/reset.c             |  4 +--
 builtin/rm.c                |  2 +-
 builtin/submodule--helper.c |  2 +-
 builtin/update-index.c      |  2 +-
 cache.h                     |  9 +++---
 convert.c                   | 41 ++++++++++++++-----------
 convert.h                   | 61 +++++++++++++++++++++----------------
 diff-lib.c                  |  4 +--
 diff.c                      |  2 +-
 dir.c                       | 27 +++++++++-------
 dir.h                       | 16 ++++++----
 entry.c                     | 10 +++---
 ll-merge.c                  |  4 +--
 merge-recursive.c           |  4 +--
 pathspec.c                  |  2 +-
 preload-index.c             |  3 +-
 read-cache.c                | 19 +++++++-----
 rerere.c                    |  2 +-
 resolve-undo.c              |  5 +--
 revision.c                  |  2 +-
 sha1-file.c                 |  4 +--
 submodule.c                 |  8 ++---
 unpack-trees.c              | 57 +++++++++++++++++++++-------------
 unpack-trees.h              |  4 +--
 userdiff.c                  |  2 +-
 ws.c                        |  2 +-
 wt-status.c                 |  6 ++--
 42 files changed, 258 insertions(+), 197 deletions(-)
Signature · 1 line
2.18.0.rc0.333.g22e6ee6cdf