On Sat, Jan 14, 2012 at 07:12:03PM -0800, Junio C Hamano wrote: > That makes my head hurt and makes me suspect there is something > fundamentally wrong in the patch. Sigh... I'll need to think about it. In the meantime perhaps the following bandage patch would suffice, rather than revert 2f88c19 (diff-index: pass pathspec down to unpack-trees machinery) -- 8< -- Subject: [PATCH] diff-index: enable recursive pathspec matching in unpack_trees Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@xxxxxxxxx> --- diff-lib.c | 2 ++ t/t4010-diff-pathspec.sh | 8 ++++++++ 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/diff-lib.c b/diff-lib.c index 62f4cd9..fc0dff3 100644 --- a/diff-lib.c +++ b/diff-lib.c @@ -469,6 +469,8 @@ static int diff_cache(struct rev_info *revs, opts.src_index = &the_index; opts.dst_index = NULL; opts.pathspec = &revs->diffopt.pathspec; + opts.pathspec->recursive = 1; + opts.pathspec->max_depth = -1; init_tree_desc(&t, tree->buffer, tree->size); return unpack_trees(1, &t, &opts); diff --git a/t/t4010-diff-pathspec.sh b/t/t4010-diff-pathspec.sh index fbc8cd8..af5134b 100755 --- a/t/t4010-diff-pathspec.sh +++ b/t/t4010-diff-pathspec.sh @@ -48,6 +48,14 @@ test_expect_success \ compare_diff_raw current expected' cat >expected <<\EOF +:100644 100644 766498d93a4b06057a8e49d23f4068f1170ff38f 0a41e115ab61be0328a19b29f18cdcb49338d516 M path1/file1 +EOF +test_expect_success \ + '"*file1" should show path1/file1' \ + 'git diff-index --cached $tree -- "*file1" >current && + compare_diff_raw current expected' + +cat >expected <<\EOF :100644 100644 766498d93a4b06057a8e49d23f4068f1170ff38f 0a41e115ab61be0328a19b29f18cdcb49338d516 M file0 EOF test_expect_success \ -- 1.7.8.36.g69ee2 -- 8< -- -- Duy -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html