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

[PATCH v2 15/21] checkout: convert read_tree_some to take struct pathspec

From
Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Date
Jan 11, 2013, 11:21 UTC
Message-ID
<1357903275-16804-16-git-send-email-pclouds@gmail.com>
In-Reply-To
<1357903275-16804-1-git-send-email-pclouds@gmail.com>
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 builtin/checkout.c | 9 +++------
 tree.c             | 4 ++--
 tree.h             | 2 +-
 3 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/builtin/checkout.c b/builtin/checkout.c
index aa399d6..a7ddb35 100644
--- a/builtin/checkout.c
+++ b/builtin/checkout.c
@@ -82,12 +82,9 @@ static int update_some(const unsigned char *sha1, const char *base, int baselen,
 	return 0;
 }
 
-static int read_tree_some(struct tree *tree, const char **pathspec)
+static int read_tree_some(struct tree *tree, const struct pathspec *pathspec)
 {
-	struct pathspec ps;
-	init_pathspec(&ps, pathspec);
-	read_tree_recursive(tree, "", 0, 0, &ps, update_some, NULL);
-	free_pathspec(&ps);
+	read_tree_recursive(tree, "", 0, 0, pathspec, update_some, NULL);
 
 	/* update the index with the given tree's info
 	 * for all args, expanding wildcards, and exit
@@ -265,7 +262,7 @@ static int checkout_paths(const struct checkout_opts *opts,
 		return error(_("corrupt index file"));
 
 	if (opts->source_tree)
-		read_tree_some(opts->source_tree, opts->pathspec.raw);
+		read_tree_some(opts->source_tree, &opts->pathspec);
 
 	ps_matched = xcalloc(1, opts->pathspec.nr);
 
diff --git a/tree.c b/tree.c
index 62fed63..ff72f67 100644
--- a/tree.c
+++ b/tree.c
@@ -47,7 +47,7 @@ static int read_one_entry_quick(const unsigned char *sha1, const char *base, int
 }
 
 static int read_tree_1(struct tree *tree, struct strbuf *base,
-		       int stage, struct pathspec *pathspec,
+		       int stage, const struct pathspec *pathspec,
 		       read_tree_fn_t fn, void *context)
 {
 	struct tree_desc desc;
@@ -116,7 +116,7 @@ static int read_tree_1(struct tree *tree, struct strbuf *base,
 
 int read_tree_recursive(struct tree *tree,
 			const char *base, int baselen,
-			int stage, struct pathspec *pathspec,
+			int stage, const struct pathspec *pathspec,
 			read_tree_fn_t fn, void *context)
 {
 	struct strbuf sb = STRBUF_INIT;
diff --git a/tree.h b/tree.h
index 69bcb5e..9dc90ba 100644
--- a/tree.h
+++ b/tree.h
@@ -25,7 +25,7 @@ typedef int (*read_tree_fn_t)(const unsigned char *, const char *, int, const ch
 
 extern int read_tree_recursive(struct tree *tree,
 			       const char *base, int baselen,
-			       int stage, struct pathspec *pathspec,
+			       int stage, const struct pathspec *pathspec,
 			       read_tree_fn_t fn, void *context);
 
 extern int read_tree(struct tree *tree, int stage, struct pathspec *pathspec);
-- 
1.8.0.rc2.23.g1fb49df
Previous: Nguyễn Thái Ngọc DuyNext: Nguyễn Thái Ngọc Duy
Message 19 of 27 in “nd/parse-pathspec reroll”
  1. 00/21 nd/parse-pathspec rerollNguyễn Thái Ngọc Duy, Jan 11, 2013
  2. 01/21 pathspec: save the non-wildcard length partNguyễn Thái Ngọc Duy, Jan 11, 2013
  3. 02/21 Add parse_pathspec() that converts cmdline args to struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  4. 03/21 Export parse_pathspec() and convert some get_pathspec() callsNguyễn Thái Ngọc Duy, Jan 11, 2013
  5. Matt KraaiJan 11, 2013
  6. Duy NguyenJan 12, 2013
  7. 04/21 clean: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  8. 05/21 commit: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  9. Martin von ZweigbergkJan 12, 2013
  10. 06/21 status: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  11. 07/21 rerere: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  12. 08/21 checkout: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  13. 09/21 rm: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  14. 10/21 ls-files: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  15. 11/21 archive: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  16. 12/21 add: convert to use parse_pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  17. 13/21 Convert read_cache_preload() to take struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  18. 14/21 Convert unmerge_cache to take struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  19. 15/21 checkout: convert read_tree_some to take struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  20. 16/21 Convert report_path_error to take struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  21. 17/21 Convert refresh_index to take struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  22. Nguyen Thai Ngoc DuyJan 11, 2013
  23. 18/21 Convert {read,fill}_directory to take struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  24. 19/21 Convert add_files_to_cache to take struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  25. 20/21 Convert more init_pathspec() to parse_pathspec()Nguyễn Thái Ngọc Duy, Jan 11, 2013
  26. 21/21 Rename field "raw" to "_raw" in struct pathspecNguyễn Thái Ngọc Duy, Jan 11, 2013
  27. 22/21 Convert the last use of match_pathspec() and remove itNguyễn Thái Ngọc Duy, Jan 11, 2013

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.