| #!/bin/sh | 
 | # | 
 | # Copyright (c) 2010 Peter Collingbourne | 
 | # | 
 |  | 
 | test_description='git apply submodule tests' | 
 |  | 
 | . ./test-lib.sh | 
 |  | 
 | test_expect_success setup ' | 
 | 	cat > create-sm.patch <<EOF && | 
 | diff --git a/dir/sm b/dir/sm | 
 | new file mode 160000 | 
 | index 0000000..0123456 | 
 | --- /dev/null | 
 | +++ b/dir/sm | 
 | @@ -0,0 +1 @@ | 
 | +Subproject commit 0123456789abcdef0123456789abcdef01234567 | 
 | EOF | 
 | 	cat > remove-sm.patch <<EOF | 
 | diff --git a/dir/sm b/dir/sm | 
 | deleted file mode 160000 | 
 | index 0123456..0000000 | 
 | --- a/dir/sm | 
 | +++ /dev/null | 
 | @@ -1 +0,0 @@ | 
 | -Subproject commit 0123456789abcdef0123456789abcdef01234567 | 
 | EOF | 
 | ' | 
 |  | 
 | test_expect_success 'removing a submodule also removes all leading subdirectories' ' | 
 | 	git apply --index create-sm.patch && | 
 | 	test -d dir/sm && | 
 | 	git apply --index remove-sm.patch && | 
 | 	test \! -d dir | 
 | ' | 
 |  | 
 | test_done |