Re: [PATCH] tree_entry_interesting: match against all pathspecs

2014-01-27 Thread Junio C Hamano
Duy Nguyen pclo...@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.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] tree_entry_interesting: match against all pathspecs

2014-01-25 Thread Andy Spencer
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 andy753...@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

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] tree_entry_interesting: match against all pathspecs

2014-01-25 Thread Duy Nguyen
On Sat, Jan 25, 2014 at 10:06:46PM +, 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 andy753...@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 --
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html