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

[PATCH 15/17] ls-files: convert show_files to take an index

From
BWBrandon Williams <bmwill@google.com>
Date
Jun 12, 2017, 22:14 UTC
Message-ID
<20170612221408.173876-16-bmwill@google.com>
In-Reply-To
<20170612221408.173876-1-bmwill@google.com>
Signed-off-by: Brandon Williams <bmwill@google.com>
---
 builtin/ls-files.c | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/builtin/ls-files.c b/builtin/ls-files.c
index 927aa6746..55d6f54fd 100644
--- a/builtin/ls-files.c
+++ b/builtin/ls-files.c
@@ -329,7 +329,7 @@ static int ce_excluded(struct dir_struct *dir, struct index_state *istate,
 	return is_excluded(dir, istate, ce->name, &dtype);
 }
 
-static void show_files(struct dir_struct *dir)
+static void show_files(struct index_state *istate, struct dir_struct *dir)
 {
 	int i;
 
@@ -337,33 +337,33 @@ static void show_files(struct dir_struct *dir)
 	if (show_others || show_killed) {
 		if (!show_others)
 			dir->flags |= DIR_COLLECT_KILLED_ONLY;
-		fill_directory(dir, &the_index, &pathspec);
+		fill_directory(dir, istate, &pathspec);
 		if (show_others)
-			show_other_files(&the_index, dir);
+			show_other_files(istate, dir);
 		if (show_killed)
-			show_killed_files(&the_index, dir);
+			show_killed_files(istate, dir);
 	}
 	if (show_cached || show_stage) {
-		for (i = 0; i < active_nr; i++) {
-			const struct cache_entry *ce = active_cache[i];
+		for (i = 0; i < istate->cache_nr; i++) {
+			const struct cache_entry *ce = istate->cache[i];
 			if ((dir->flags & DIR_SHOW_IGNORED) &&
-			    !ce_excluded(dir, &the_index, ce))
+			    !ce_excluded(dir, istate, ce))
 				continue;
 			if (show_unmerged && !ce_stage(ce))
 				continue;
 			if (ce->ce_flags & CE_UPDATE)
 				continue;
-			show_ce_entry(&the_index, ce_stage(ce) ? tag_unmerged :
+			show_ce_entry(istate, ce_stage(ce) ? tag_unmerged :
 				(ce_skip_worktree(ce) ? tag_skip_worktree : tag_cached), ce);
 		}
 	}
 	if (show_deleted || show_modified) {
-		for (i = 0; i < active_nr; i++) {
-			const struct cache_entry *ce = active_cache[i];
+		for (i = 0; i < istate->cache_nr; i++) {
+			const struct cache_entry *ce = istate->cache[i];
 			struct stat st;
 			int err;
 			if ((dir->flags & DIR_SHOW_IGNORED) &&
-			    !ce_excluded(dir, &the_index, ce))
+			    !ce_excluded(dir, istate, ce))
 				continue;
 			if (ce->ce_flags & CE_UPDATE)
 				continue;
@@ -371,9 +371,9 @@ static void show_files(struct dir_struct *dir)
 				continue;
 			err = lstat(ce->name, &st);
 			if (show_deleted && err)
-				show_ce_entry(&the_index, tag_removed, ce);
-			if (show_modified && ce_modified(ce, &st, 0))
-				show_ce_entry(&the_index, tag_modified, ce);
+				show_ce_entry(istate, tag_removed, ce);
+			if (show_modified && ie_modified(istate, ce, &st, 0))
+				show_ce_entry(istate, tag_modified, ce);
 		}
 	}
 }
@@ -686,7 +686,7 @@ int cmd_ls_files(int argc, const char **argv, const char *cmd_prefix)
 			die("ls-files --with-tree is incompatible with -s or -u");
 		overlay_tree_on_index(&the_index, with_tree, max_prefix);
 	}
-	show_files(&dir);
+	show_files(&the_index, &dir);
 	if (show_resolve_undo)
 		show_ru_info(&the_index);
 
-- 
2.13.1.518.g3df882009-goog
Previous: Brandon WilliamsNext: Brandon Williams
Message 11 of 18 in “convert ls-files internals to pass around an index”
  1. 00/17 convert ls-files internals to pass around an indexBrandon Williams, Jun 12, 2017
  2. 01/17 convert: convert get_cached_convert_stats_ascii to take an indexBrandon Williams, Jun 12, 2017
  3. 02/17 convert: convert crlf_to_git to take an indexBrandon Williams, Jun 12, 2017
  4. 03/17 convert: convert convert_to_git_filter_fd to take an indexBrandon Williams, Jun 12, 2017
  5. 04/17 convert: convert convert_to_git to take an indexBrandon Williams, Jun 12, 2017
  6. 07/17 ls-files: convert overlay_tree_on_cache to take an indexBrandon Williams, Jun 12, 2017
  7. 14/17 ls-files: convert show_ce_entry to take an indexBrandon Williams, Jun 12, 2017
  8. 13/17 ls-files: convert prune_cache to take an indexBrandon Williams, Jun 12, 2017
  9. 17/17 ls-files: factor out tag calculationBrandon Williams, Jun 12, 2017
  10. 12/17 ls-files: convert ce_excluded to take an indexBrandon Williams, Jun 12, 2017
  11. 15/17 ls-files: convert show_files to take an indexBrandon Williams, Jun 12, 2017
  12. 09/17 ls-files: convert show_killed_files to take an indexBrandon Williams, Jun 12, 2017
  13. 16/17 ls-files: factor out debug info into a functionBrandon Williams, Jun 12, 2017
  14. 10/17 ls-files: convert show_other_files to take an indexBrandon Williams, Jun 12, 2017
  15. 05/17 convert: convert renormalize_buffer to take an indexBrandon Williams, Jun 12, 2017
  16. 08/17 ls-files: convert write_eolinfo to take an indexBrandon Williams, Jun 12, 2017
  17. 06/17 tree: convert read_tree to take an index parameterBrandon Williams, Jun 12, 2017
  18. 11/17 ls-files: convert show_ru_info to take an indexBrandon Williams, Jun 12, 2017

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.