about summary refs log tree commit diff
path: root/third_party/git/t/t4139-apply-escape.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/t4139-apply-escape.sh')
-rwxr-xr-xthird_party/git/t/t4139-apply-escape.sh141
1 files changed, 0 insertions, 141 deletions
diff --git a/third_party/git/t/t4139-apply-escape.sh b/third_party/git/t/t4139-apply-escape.sh
deleted file mode 100755
index 45b5660a47d8..000000000000
--- a/third_party/git/t/t4139-apply-escape.sh
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/sh
-
-test_description='paths written by git-apply cannot escape the working tree'
-. ./test-lib.sh
-
-# tests will try to write to ../foo, and we do not
-# want them to escape the trash directory when they
-# fail
-test_expect_success 'bump git repo one level down' '
-	mkdir inside &&
-	mv .git inside/ &&
-	cd inside
-'
-
-# $1 = name of file
-# $2 = current path to file (if different)
-mkpatch_add () {
-	rm -f "${2:-$1}" &&
-	cat <<-EOF
-	diff --git a/$1 b/$1
-	new file mode 100644
-	index 0000000..53c74cd
-	--- /dev/null
-	+++ b/$1
-	@@ -0,0 +1 @@
-	+evil
-	EOF
-}
-
-mkpatch_del () {
-	echo evil >"${2:-$1}" &&
-	cat <<-EOF
-	diff --git a/$1 b/$1
-	deleted file mode 100644
-	index 53c74cd..0000000
-	--- a/$1
-	+++ /dev/null
-	@@ -1 +0,0 @@
-	-evil
-	EOF
-}
-
-# $1 = name of file
-# $2 = content of symlink
-mkpatch_symlink () {
-	rm -f "$1" &&
-	cat <<-EOF
-	diff --git a/$1 b/$1
-	new file mode 120000
-	index 0000000..$(printf "%s" "$2" | git hash-object --stdin)
-	--- /dev/null
-	+++ b/$1
-	@@ -0,0 +1 @@
-	+$2
-	\ No newline at end of file
-	EOF
-}
-
-test_expect_success 'cannot create file containing ..' '
-	mkpatch_add ../foo >patch &&
-	test_must_fail git apply patch &&
-	test_path_is_missing ../foo
-'
-
-test_expect_success 'can create file containing .. with --unsafe-paths' '
-	mkpatch_add ../foo >patch &&
-	git apply --unsafe-paths patch &&
-	test_path_is_file ../foo
-'
-
-test_expect_success  'cannot create file containing .. (index)' '
-	mkpatch_add ../foo >patch &&
-	test_must_fail git apply --index patch &&
-	test_path_is_missing ../foo
-'
-
-test_expect_success  'cannot create file containing .. with --unsafe-paths (index)' '
-	mkpatch_add ../foo >patch &&
-	test_must_fail git apply --index --unsafe-paths patch &&
-	test_path_is_missing ../foo
-'
-
-test_expect_success 'cannot delete file containing ..' '
-	mkpatch_del ../foo >patch &&
-	test_must_fail git apply patch &&
-	test_path_is_file ../foo
-'
-
-test_expect_success 'can delete file containing .. with --unsafe-paths' '
-	mkpatch_del ../foo >patch &&
-	git apply --unsafe-paths patch &&
-	test_path_is_missing ../foo
-'
-
-test_expect_success 'cannot delete file containing .. (index)' '
-	mkpatch_del ../foo >patch &&
-	test_must_fail git apply --index patch &&
-	test_path_is_file ../foo
-'
-
-test_expect_success SYMLINKS 'symlink escape via ..' '
-	{
-		mkpatch_symlink tmp .. &&
-		mkpatch_add tmp/foo ../foo
-	} >patch &&
-	test_must_fail git apply patch &&
-	test_path_is_missing tmp &&
-	test_path_is_missing ../foo
-'
-
-test_expect_success SYMLINKS 'symlink escape via .. (index)' '
-	{
-		mkpatch_symlink tmp .. &&
-		mkpatch_add tmp/foo ../foo
-	} >patch &&
-	test_must_fail git apply --index patch &&
-	test_path_is_missing tmp &&
-	test_path_is_missing ../foo
-'
-
-test_expect_success SYMLINKS 'symlink escape via absolute path' '
-	{
-		mkpatch_symlink tmp "$(pwd)" &&
-		mkpatch_add tmp/foo ../foo
-	} >patch &&
-	test_must_fail git apply patch &&
-	test_path_is_missing tmp &&
-	test_path_is_missing ../foo
-'
-
-test_expect_success SYMLINKS 'symlink escape via absolute path (index)' '
-	{
-		mkpatch_symlink tmp "$(pwd)" &&
-		mkpatch_add tmp/foo ../foo
-	} >patch &&
-	test_must_fail git apply --index patch &&
-	test_path_is_missing tmp &&
-	test_path_is_missing ../foo
-'
-
-test_done