diff options
Diffstat (limited to 'third_party/git/t/t4134-apply-submodule.sh')
-rwxr-xr-x | third_party/git/t/t4134-apply-submodule.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/third_party/git/t/t4134-apply-submodule.sh b/third_party/git/t/t4134-apply-submodule.sh new file mode 100755 index 000000000000..99ed4cc54676 --- /dev/null +++ b/third_party/git/t/t4134-apply-submodule.sh @@ -0,0 +1,39 @@ +#!/bin/sh +# +# Copyright (c) 2010 Peter Collingbourne +# + +test_description='git apply submodule tests' + +. ./test-lib.sh + +test_expect_success setup ' + test_oid_init && + 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 $(test_oid numeric) +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 $(test_oid numeric) +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 |