Junio C Hamano  committed d899cf5 Merge with conflicts

Merge branch 'maint-1.7.7' into maint

* maint-1.7.7:
diff-index: enable recursive pathspec matching in unpack_trees


  • Participants
  • Parent commits ab8a780, 0065343

Comments (0)

Files changed (3)

File Documentation/RelNotes/

    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
 	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);

File t/

      compare_diff_raw current expected'
 cat >expected <<\EOF
+:100644 100644 766498d93a4b06057a8e49d23f4068f1170ff38f 0a41e115ab61be0328a19b29f18cdcb49338d516 M	path1/file1
+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
 test_expect_success \