git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH 07/21] status: convert to use parse_pathspec
Date: Sun,  6 Jan 2013 13:20:54 +0700	[thread overview]
Message-ID: <1357453268-12543-8-git-send-email-pclouds@gmail.com> (raw)
In-Reply-To: <1357453268-12543-1-git-send-email-pclouds@gmail.com>


Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 builtin/commit.c |  6 +++---
 wt-status.c      | 17 +++++++----------
 wt-status.h      |  2 +-
 3 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/builtin/commit.c b/builtin/commit.c
index 8410617..b706ebb 100644
--- a/builtin/commit.c
+++ b/builtin/commit.c
@@ -1207,10 +1207,10 @@ int cmd_status(int argc, const char **argv, const char *prefix)
 	if (show_ignored_in_status)
 		s.show_ignored_files = 1;
 	if (*argv)
-		s.pathspec = get_pathspec(prefix, argv);
+		parse_pathspec(&s.pathspec, PATHSPEC_FROMTOP, 0, prefix, argv);
 
-	read_cache_preload(s.pathspec);
-	refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, s.pathspec, NULL, NULL);
+	read_cache_preload(s.pathspec.raw);
+	refresh_index(&the_index, REFRESH_QUIET|REFRESH_UNMERGED, s.pathspec.raw, NULL, NULL);
 
 	fd = hold_locked_index(&index_lock, 0);
 	if (0 <= fd)
diff --git a/wt-status.c b/wt-status.c
index 2a9658b..13e6aba 100644
--- a/wt-status.c
+++ b/wt-status.c
@@ -434,7 +434,7 @@ static void wt_status_collect_changes_worktree(struct wt_status *s)
 	}
 	rev.diffopt.format_callback = wt_status_collect_changed_cb;
 	rev.diffopt.format_callback_data = s;
-	init_pathspec(&rev.prune_data, s->pathspec);
+	rev.prune_data = s->pathspec;
 	run_diff_files(&rev, 0);
 }
 
@@ -459,22 +459,20 @@ static void wt_status_collect_changes_index(struct wt_status *s)
 	rev.diffopt.detect_rename = 1;
 	rev.diffopt.rename_limit = 200;
 	rev.diffopt.break_opt = 0;
-	init_pathspec(&rev.prune_data, s->pathspec);
+	rev.prune_data = s->pathspec;
 	run_diff_index(&rev, 1);
 }
 
 static void wt_status_collect_changes_initial(struct wt_status *s)
 {
-	struct pathspec pathspec;
 	int i;
 
-	init_pathspec(&pathspec, s->pathspec);
 	for (i = 0; i < active_nr; i++) {
 		struct string_list_item *it;
 		struct wt_status_change_data *d;
 		struct cache_entry *ce = active_cache[i];
 
-		if (!ce_path_match(ce, &pathspec))
+		if (!ce_path_match(ce, &s->pathspec))
 			continue;
 		it = string_list_insert(&s->change, ce->name);
 		d = it->util;
@@ -489,7 +487,6 @@ static void wt_status_collect_changes_initial(struct wt_status *s)
 		else
 			d->index_status = DIFF_STATUS_ADDED;
 	}
-	free_pathspec(&pathspec);
 }
 
 static void wt_status_collect_untracked(struct wt_status *s)
@@ -505,11 +502,11 @@ static void wt_status_collect_untracked(struct wt_status *s)
 			DIR_SHOW_OTHER_DIRECTORIES | DIR_HIDE_EMPTY_DIRECTORIES;
 	setup_standard_excludes(&dir);
 
-	fill_directory(&dir, s->pathspec);
+	fill_directory(&dir, s->pathspec.raw);
 	for (i = 0; i < dir.nr; i++) {
 		struct dir_entry *ent = dir.entries[i];
 		if (cache_name_is_other(ent->name, ent->len) &&
-		    match_pathspec(s->pathspec, ent->name, ent->len, 0, NULL))
+		    match_pathspec_depth(&s->pathspec, ent->name, ent->len, 0, NULL))
 			string_list_insert(&s->untracked, ent->name);
 		free(ent);
 	}
@@ -517,11 +514,11 @@ static void wt_status_collect_untracked(struct wt_status *s)
 	if (s->show_ignored_files) {
 		dir.nr = 0;
 		dir.flags = DIR_SHOW_IGNORED | DIR_SHOW_OTHER_DIRECTORIES;
-		fill_directory(&dir, s->pathspec);
+		fill_directory(&dir, s->pathspec.raw);
 		for (i = 0; i < dir.nr; i++) {
 			struct dir_entry *ent = dir.entries[i];
 			if (cache_name_is_other(ent->name, ent->len) &&
-			    match_pathspec(s->pathspec, ent->name, ent->len, 0, NULL))
+			    match_pathspec_depth(&s->pathspec, ent->name, ent->len, 0, NULL))
 				string_list_insert(&s->ignored, ent->name);
 			free(ent);
 		}
diff --git a/wt-status.h b/wt-status.h
index 236b41f..dd8df41 100644
--- a/wt-status.h
+++ b/wt-status.h
@@ -44,7 +44,7 @@ struct wt_status {
 	int is_initial;
 	char *branch;
 	const char *reference;
-	const char **pathspec;
+	struct pathspec pathspec;
 	int verbose;
 	int amend;
 	enum commit_whence whence;
-- 
1.8.0.rc2.23.g1fb49df

  parent reply	other threads:[~2013-01-06  6:22 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-06  6:20 [PATCH 00/21] "struct pathspec" conversion Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 01/21] pathspec: save the non-wildcard length part Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 02/21] Add parse_pathspec() that converts cmdline args to struct pathspec Nguyễn Thái Ngọc Duy
2013-01-10 23:26   ` Martin von Zweigbergk
2013-01-11  2:33     ` Duy Nguyen
2013-01-06  6:20 ` [PATCH 03/21] pathspec: make sure the prefix part is wildcard-clean Nguyễn Thái Ngọc Duy
2013-01-07  1:10   ` Duy Nguyen
2013-01-06  6:20 ` [PATCH 04/21] Export parse_pathspec() and convert some get_pathspec() calls Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 05/21] clean: convert to use parse_pathspec Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 06/21] commit: " Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` Nguyễn Thái Ngọc Duy [this message]
2013-01-06  6:20 ` [PATCH 08/21] rerere: " Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 09/21] checkout: " Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 10/21] rm: " Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 11/21] ls-files: " Nguyễn Thái Ngọc Duy
2013-01-06  6:20 ` [PATCH 12/21] archive: " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 13/21] add: " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 14/21] Convert read_cache_preload() to take struct pathspec Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 15/21] Convert unmerge_cache " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 16/21] checkout: convert read_tree_some " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 17/21] Convert report_path_error " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 18/21] Convert refresh_index " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 19/21] Convert {read,fill}_directory " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 20/21] Convert add_files_to_cache " Nguyễn Thái Ngọc Duy
2013-01-06  6:21 ` [PATCH 21/21] Convert more init_pathspec() to parse_pathspec() Nguyễn Thái Ngọc Duy
2013-01-06 21:45 ` [PATCH 00/21] "struct pathspec" conversion Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1357453268-12543-8-git-send-email-pclouds@gmail.com \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).