* [PATCH] tree_entry_interesting: match against all pathspecs
@ 2014-01-25 22:06 Andy Spencer
2014-01-25 22:48 ` Duy Nguyen
0 siblings, 1 reply; 3+ messages in thread
From: Andy Spencer @ 2014-01-25 22:06 UTC (permalink / raw)
To: git; +Cc: Nguyễn Thái Ngọc Duy, Junio C Hamano
The current basedir compare aborts early in order to avoid futile
recursive searches. However, a match may still be found by another
pathspec. This can cause an error while checking out files from a branch
when using multiple pathspecs:
$ git checkout master -- 'a/*.txt' 'b/*.txt'
error: pathspec 'a/*.txt' did not match any file(s) known to git.
Signed-off-by: Andy Spencer <andy753421@gmail.com>
---
tree-walk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tree-walk.c b/tree-walk.c
index 5ece8c3..e06f240 100644
--- a/tree-walk.c
+++ b/tree-walk.c
@@ -743,7 +743,7 @@ match_wildcards:
if (item->nowildcard_len &&
!match_wildcard_base(item, base_str, baselen, &matched))
- return entry_not_interesting;
+ continue;
/*
* Concatenate base and entry->path into one and do
--
1.8.5.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] tree_entry_interesting: match against all pathspecs
2014-01-25 22:06 [PATCH] tree_entry_interesting: match against all pathspecs Andy Spencer
@ 2014-01-25 22:48 ` Duy Nguyen
2014-01-27 16:57 ` Junio C Hamano
0 siblings, 1 reply; 3+ messages in thread
From: Duy Nguyen @ 2014-01-25 22:48 UTC (permalink / raw)
To: Andy Spencer; +Cc: git, Junio C Hamano
On Sat, Jan 25, 2014 at 10:06:46PM +0000, Andy Spencer wrote:
> The current basedir compare aborts early in order to avoid futile
> recursive searches. However, a match may still be found by another
> pathspec. This can cause an error while checking out files from a branch
> when using multiple pathspecs:
>
> $ git checkout master -- 'a/*.txt' 'b/*.txt'
> error: pathspec 'a/*.txt' did not match any file(s) known to git.
>
> Signed-off-by: Andy Spencer <andy753421@gmail.com>
> ---
> tree-walk.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tree-walk.c b/tree-walk.c
> index 5ece8c3..e06f240 100644
> --- a/tree-walk.c
> +++ b/tree-walk.c
> @@ -743,7 +743,7 @@ match_wildcards:
>
> if (item->nowildcard_len &&
> !match_wildcard_base(item, base_str, baselen, &matched))
> - return entry_not_interesting;
> + continue;
>
> /*
> * Concatenate base and entry->path into one and do
Ack. Perhaps this on top to verify it
-- 8< --
diff --git a/t/t4010-diff-pathspec.sh b/t/t4010-diff-pathspec.sh
index af5134b..d9f37c3 100755
--- a/t/t4010-diff-pathspec.sh
+++ b/t/t4010-diff-pathspec.sh
@@ -110,4 +110,17 @@ test_expect_success 'diff-tree -r with wildcard' '
test_cmp expected result
'
+test_expect_success 'diff multiple wildcard pathspecs' '
+ mkdir path2 &&
+ echo rezrov >path2/file1 &&
+ git update-index --add path2/file1 &&
+ tree3=`git write-tree` &&
+ git diff --name-only $tree $tree3 -- "path2*1" "path1*1" >actual &&
+ cat <<EOF >expect &&
+path1/file1
+path2/file1
+EOF
+ test_cmp expect actual
+'
+
test_done
-- 8< --
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] tree_entry_interesting: match against all pathspecs
2014-01-25 22:48 ` Duy Nguyen
@ 2014-01-27 16:57 ` Junio C Hamano
0 siblings, 0 replies; 3+ messages in thread
From: Junio C Hamano @ 2014-01-27 16:57 UTC (permalink / raw)
To: Duy Nguyen; +Cc: Andy Spencer, git
Duy Nguyen <pclouds@gmail.com> writes:
> Ack. Perhaps this on top to verify it
>
> -- 8< --
> diff --git a/t/t4010-diff-pathspec.sh b/t/t4010-diff-pathspec.sh
> index af5134b..d9f37c3 100755
> --- a/t/t4010-diff-pathspec.sh
> +++ b/t/t4010-diff-pathspec.sh
> @@ -110,4 +110,17 @@ test_expect_success 'diff-tree -r with wildcard' '
> test_cmp expected result
> '
>
> +test_expect_success 'diff multiple wildcard pathspecs' '
> + mkdir path2 &&
> + echo rezrov >path2/file1 &&
> + git update-index --add path2/file1 &&
> + tree3=`git write-tree` &&
> + git diff --name-only $tree $tree3 -- "path2*1" "path1*1" >actual &&
> + cat <<EOF >expect &&
> +path1/file1
> +path2/file1
> +EOF
> + test_cmp expect actual
> +'
> +
> test_done
> -- 8< --
Thanks, both. Will queue.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-01-27 16:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-25 22:06 [PATCH] tree_entry_interesting: match against all pathspecs Andy Spencer
2014-01-25 22:48 ` Duy Nguyen
2014-01-27 16:57 ` Junio C Hamano
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).