Skip to content

Commit

Permalink
Merge branch 'maint-1.7.7' into maint
Browse files Browse the repository at this point in the history
* maint-1.7.7:
  Git 1.7.7.6
  diff-index: enable recursive pathspec matching in unpack_trees

Conflicts:
	GIT-VERSION-GEN
  • Loading branch information
Junio C Hamano committed Jan 18, 2012
2 parents ab8a780 + 0065343 commit d899cf5
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Documentation/RelNotes/1.7.7.6.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions diff-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
8 changes: 8 additions & 0 deletions t/t4010-diff-pathspec.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ test_expect_success \
'git diff-index --cached $tree -- path1/ >current &&
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
Expand Down

0 comments on commit d899cf5

Please sign in to comment.