cp "$2" file &&
cp "$2" sub/dir/file &&
cp "$2" sub/dir/b/file &&
- cp "$2" objects/file
+ cp "$2" objects/file &&
+ test_might_fail git update-index --refresh -q
}
'
test_cmp expected sub/dir/file
'
+test_expect_success 'apply half-broken patch from subdir of toplevel' '
+ (
+ cd sub/dir &&
+ test_must_fail git apply <<-EOF
+ --- sub/dir/file
+ +++ sub/dir/file
+ @@ -1,0 +1,0 @@
+ --- file_in_root
+ +++ file_in_root
+ @@ -1,0 +1,0 @@
+ EOF
+ )
+'
+
test_expect_success 'apply from .git dir' '
cp postimage expected &&
cp preimage .git/file &&
- cp preimage .git/objects/file
+ cp preimage .git/objects/file &&
(
cd .git &&
git apply "$patch"
test_cmp expected .git/file
'
-test_expect_failure 'apply from subdir of .git dir' '
+test_expect_success 'apply from subdir of .git dir' '
cp postimage expected &&
cp preimage .git/file &&
- cp preimage .git/objects/file
+ cp preimage .git/objects/file &&
(
cd .git/objects &&
git apply "$patch"