about summary refs log tree commit diff
path: root/third_party/git/t/t5522-pull-symlink.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/t/t5522-pull-symlink.sh')
-rwxr-xr-xthird_party/git/t/t5522-pull-symlink.sh84
1 files changed, 0 insertions, 84 deletions
diff --git a/third_party/git/t/t5522-pull-symlink.sh b/third_party/git/t/t5522-pull-symlink.sh
deleted file mode 100755
index bcff460d0a..0000000000
--- a/third_party/git/t/t5522-pull-symlink.sh
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/sh
-
-test_description='pulling from symlinked subdir'
-
-. ./test-lib.sh
-
-# The scenario we are building:
-#
-#   trash\ directory/
-#     clone-repo/
-#       subdir/
-#         bar
-#     subdir-link -> clone-repo/subdir/
-#
-# The working directory is subdir-link.
-
-test_expect_success SYMLINKS setup '
-	mkdir subdir &&
-	echo file >subdir/file &&
-	git add subdir/file &&
-	git commit -q -m file &&
-	git clone -q . clone-repo &&
-	ln -s clone-repo/subdir/ subdir-link &&
-	(
-		cd clone-repo &&
-		git config receive.denyCurrentBranch warn
-	) &&
-	git config receive.denyCurrentBranch warn
-'
-
-# Demonstrate that things work if we just avoid the symlink
-#
-test_expect_success SYMLINKS 'pulling from real subdir' '
-	(
-		echo real >subdir/file &&
-		git commit -m real subdir/file &&
-		cd clone-repo/subdir/ &&
-		git pull &&
-		test real = $(cat file)
-	)
-'
-
-# From subdir-link, pulling should work as it does from
-# clone-repo/subdir/.
-#
-# Instead, the error pull gave was:
-#
-#   fatal: 'origin': unable to chdir or not a git archive
-#   fatal: The remote end hung up unexpectedly
-#
-# because git would find the .git/config for the "trash directory"
-# repo, not for the clone-repo repo.  The "trash directory" repo
-# had no entry for origin.  Git found the wrong .git because
-# git rev-parse --show-cdup printed a path relative to
-# clone-repo/subdir/, not subdir-link/.  Git rev-parse --show-cdup
-# used the correct .git, but when the git pull shell script did
-# "cd $(git rev-parse --show-cdup)", it ended up in the wrong
-# directory.  A POSIX shell's "cd" works a little differently
-# than chdir() in C; "cd -P" is much closer to chdir().
-#
-test_expect_success SYMLINKS 'pulling from symlinked subdir' '
-	(
-		echo link >subdir/file &&
-		git commit -m link subdir/file &&
-		cd subdir-link/ &&
-		git pull &&
-		test link = $(cat file)
-	)
-'
-
-# Prove that the remote end really is a repo, and other commands
-# work fine in this context.  It's just that "git pull" breaks.
-#
-test_expect_success SYMLINKS 'pushing from symlinked subdir' '
-	(
-		cd subdir-link/ &&
-		echo push >file &&
-		git commit -m push ./file &&
-		git push
-	) &&
-	test push = $(git show HEAD:subdir/file)
-'
-
-test_done