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

[PATCH v2 3/6] cocci & cache.h: apply pending "index_cache_pos" rule

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Feb 10, 2023, 10:28 UTC
Message-ID
<patch-v2-3.6-3e9d97dbff2-20230210T102114Z-avarab@gmail.com>
In-Reply-To
<cover-v2-0.6-00000000000-20230210T102114Z-avarab@gmail.com>

Apply the rule added in [1] to change "cache_name_pos" to "index_name_pos", which allows us to get rid of another "USE_THE_INDEX_COMPATIBILITY_MACROS" macro.

The replacement of "USE_THE_INDEX_COMPATIBILITY_MACROS" here with "USE_THE_INDEX_VARIABLE" is a manual change on top, now that these files only use "&the_index", and don't need any compatibility macros (or functions).

1. 0e6550a2c63 (cocci: add a index-compatibility.pending.cocci,
   2022-11-19)
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 builtin/mv.c                                         | 8 +++++---
 builtin/update-index.c                               | 4 ++--
 cache.h                                              | 1 -
 contrib/coccinelle/index-compatibility.cocci         | 3 +++
 contrib/coccinelle/index-compatibility.pending.cocci | 3 ---
 5 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/builtin/mv.c b/builtin/mv.c
index 19790ce38fa..edd7b931fdb 100644
--- a/builtin/mv.c
+++ b/builtin/mv.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) 2006 Johannes Schindelin
  */
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
 #include "builtin.h"
 #include "config.h"
 #include "pathspec.h"
@@ -489,7 +489,8 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
 			if ((mode & SPARSE) &&
 			    path_in_sparse_checkout(dst, &the_index)) {
 				/* from out-of-cone to in-cone */
-				int dst_pos = cache_name_pos(dst, strlen(dst));
+				int dst_pos = index_name_pos(&the_index, dst,
+							     strlen(dst));
 				struct cache_entry *dst_ce = the_index.cache[dst_pos];
 
 				dst_ce->ce_flags &= ~CE_SKIP_WORKTREE;
@@ -500,7 +501,8 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
 				   !(mode & SPARSE) &&
 				   !path_in_sparse_checkout(dst, &the_index)) {
 				/* from in-cone to out-of-cone */
-				int dst_pos = cache_name_pos(dst, strlen(dst));
+				int dst_pos = index_name_pos(&the_index, dst,
+							     strlen(dst));
 				struct cache_entry *dst_ce = the_index.cache[dst_pos];
 
 				/*
diff --git a/builtin/update-index.c b/builtin/update-index.c
index 82d5902cc8b..bf38885d546 100644
--- a/builtin/update-index.c
+++ b/builtin/update-index.c
@@ -3,7 +3,7 @@
  *
  * Copyright (C) Linus Torvalds, 2005
  */
-#define USE_THE_INDEX_COMPATIBILITY_MACROS
+#define USE_THE_INDEX_VARIABLE
 #include "cache.h"
 #include "bulk-checkin.h"
 #include "config.h"
@@ -381,7 +381,7 @@ static int process_path(const char *path, struct stat *st, int stat_errno)
 	if (has_symlink_leading_path(path, len))
 		return error("'%s' is beyond a symbolic link", path);
 
-	pos = cache_name_pos(path, len);
+	pos = index_name_pos(&the_index, path, len);
 	ce = pos < 0 ? NULL : the_index.cache[pos];
 	if (ce && ce_skip_worktree(ce)) {
 		/*
diff --git a/cache.h b/cache.h
index b0bbecf35ef..c44aef1af7c 100644
--- a/cache.h
+++ b/cache.h
@@ -456,7 +456,6 @@ extern struct index_state the_index;
 #ifdef USE_THE_INDEX_COMPATIBILITY_MACROS
 #define read_cache() repo_read_index(the_repository)
 #define discard_cache() discard_index(&the_index)
-#define cache_name_pos(name, namelen) index_name_pos(&the_index,(name),(namelen))
 #endif
 #endif
 #endif
diff --git a/contrib/coccinelle/index-compatibility.cocci b/contrib/coccinelle/index-compatibility.cocci
index 028ff53354a..1d37546fdbd 100644
--- a/contrib/coccinelle/index-compatibility.cocci
+++ b/contrib/coccinelle/index-compatibility.cocci
@@ -91,6 +91,9 @@ identifier ACT = active_cache_tree;
 |
 - resolve_undo_clear
 + resolve_undo_clear_index
+|
+- cache_name_pos
++ index_name_pos
 )
   (
 + &the_index,
diff --git a/contrib/coccinelle/index-compatibility.pending.cocci b/contrib/coccinelle/index-compatibility.pending.cocci
index 01f875d0060..ecf3b45deca 100644
--- a/contrib/coccinelle/index-compatibility.pending.cocci
+++ b/contrib/coccinelle/index-compatibility.pending.cocci
@@ -15,9 +15,6 @@
 (
 - discard_cache
 + discard_index
-|
-- cache_name_pos
-+ index_name_pos
 )
   (
 + &the_index,
-- 
2.39.1.1475.gc2542cdc5ef
Previous: Ævar Arnfjörð BjarmasonNext: Junio C Hamano
Message 17 of 23 in “remove USE_THE_INDEX_COMPATIBILITY_MACROS”
  1. 0/6 remove USE_THE_INDEX_COMPATIBILITY_MACROSÆvar Arnfjörð Bjarmason, Dec 15, 2022
  2. 1/6 builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE"Ævar Arnfjörð Bjarmason, Dec 15, 2022
  3. 2/6 cocci & cache.h: fully apply "active_nr" part of index-compatibilityÆvar Arnfjörð Bjarmason, Dec 15, 2022
  4. 3/6 cocci & cache.h: apply pending "index_cache_pos" ruleÆvar Arnfjörð Bjarmason, Dec 15, 2022
  5. 4/6 cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*"Ævar Arnfjörð Bjarmason, Dec 15, 2022
  6. 5/6 cache-tree API: remove redundant update_main_cache_tree()Ævar Arnfjörð Bjarmason, Dec 15, 2022
  7. 6/6 cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS"Ævar Arnfjörð Bjarmason, Dec 15, 2022
  8. Phillip WoodDec 19, 2022
  9. Ævar Arnfjörð BjarmasonDec 19, 2022
  10. Phillip WoodDec 19, 2022
  11. Junio C HamanoDec 20, 2022
  12. Ævar Arnfjörð BjarmasonDec 22, 2022
  13. 0/6 remove USE_THE_INDEX_COMPATIBILITY_MACROSÆvar Arnfjörð Bjarmason, Feb 10, 2023
  14. 1/6 builtin/rm.c: use narrower "USE_THE_INDEX_VARIABLE"Ævar Arnfjörð Bjarmason, Feb 10, 2023
  15. Junio C HamanoFeb 10, 2023
  16. 2/6 cocci & cache.h: fully apply "active_nr" part of index-compatibilityÆvar Arnfjörð Bjarmason, Feb 10, 2023
  17. 3/6 cocci & cache.h: apply pending "index_cache_pos" ruleÆvar Arnfjörð Bjarmason, Feb 10, 2023
  18. Junio C HamanoFeb 10, 2023
  19. 4/6 cocci & cache-tree.h: migrate "write_cache_as_tree" to "*_index_*"Ævar Arnfjörð Bjarmason, Feb 10, 2023
  20. 5/6 cache-tree API: remove redundant update_main_cache_tree()Ævar Arnfjörð Bjarmason, Feb 10, 2023
  21. 6/6 cocci & cache.h: remove "USE_THE_INDEX_COMPATIBILITY_MACROS"Ævar Arnfjörð Bjarmason, Feb 10, 2023
  22. Junio C HamanoFeb 10, 2023
  23. Junio C HamanoFeb 10, 2023

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.