diff options
author | Junio C Hamano <gitster@pobox.com> | 2012-01-18 15:48:46 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2012-01-18 15:48:46 -0800 |
commit | d899cf559b6a93006993752e7a89d13606380227 (patch) | |
tree | 267c22ffce9a9d705f48749d650ce2b62b690aa8 | |
parent | ab8a78084b7159d99dae2905e1a3ff04c1500a6d (diff) | |
parent | 00653435488f5ed86c5d6dc411fa14fa56f5e3bc (diff) | |
download | git-d899cf559b6a93006993752e7a89d13606380227.tar.gz |
Merge branch 'maint-1.7.7' into maint
* maint-1.7.7:
Git 1.7.7.6
diff-index: enable recursive pathspec matching in unpack_trees
Conflicts:
GIT-VERSION-GEN
-rw-r--r-- | Documentation/RelNotes/1.7.7.6.txt | 4 | ||||
-rw-r--r-- | diff-lib.c | 2 | ||||
-rwxr-xr-x | t/t4010-diff-pathspec.sh | 8 |
3 files changed, 14 insertions, 0 deletions
diff --git a/Documentation/RelNotes/1.7.7.6.txt b/Documentation/RelNotes/1.7.7.6.txt index b8b86ebc61..8df606d452 100644 --- a/Documentation/RelNotes/1.7.7.6.txt +++ b/Documentation/RelNotes/1.7.7.6.txt @@ -8,6 +8,10 @@ Fixes since v1.7.7.5 directory when two paths in question are in adjacent directories and the name of the one directory is a prefix of the other. + * A wildcard that matches deeper hierarchy given to the "diff-index" command, + e.g. "git diff-index HEAD -- '*.txt'", incorrectly reported additions of + matching files even when there is no change. + * When producing a "thin pack" (primarily used in bundles and smart HTTP transfers) out of a fully packed repository, we unnecessarily avoided sending recent objects as a delta against objects we know diff --git a/diff-lib.c b/diff-lib.c index 62f4cd94cf..fc0dff31b5 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 fbc8cd8f05..af5134b70c 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 \ |