git p4 test: should honor symlink in p4 client root

This test fails when the p4 client root includes
a symlink.  It complains:

    Path /vol/bar/projects/foo/... is not under client root /p/foo

and dumps a traceback.

Signed-off-by: Pete Wyckoff <pw@padd.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Pete Wyckoff 2013-03-11 17:45:28 -04:00 коммит произвёл Junio C Hamano
Родитель 9e7b8efb9d
Коммит 89773db3e8
1 изменённых файлов: 27 добавлений и 0 удалений

Просмотреть файл

@ -56,6 +56,33 @@ test_expect_success 'p4 client root would be relative due to clone --dest' '
)
'
# When the p4 client Root is a symlink, make sure chdir() does not use
# getcwd() to convert it to a physical path.
test_expect_failure SYMLINKS 'p4 client root symlink should stay symbolic' '
physical="$TRASH_DIRECTORY/physical" &&
symbolic="$TRASH_DIRECTORY/symbolic" &&
test_when_finished "rm -rf \"$physical\"" &&
test_when_finished "rm \"$symbolic\"" &&
mkdir -p "$physical" &&
ln -s "$physical" "$symbolic" &&
test_when_finished cleanup_git &&
(
P4CLIENT=client-sym &&
p4 client -i <<-EOF &&
Client: $P4CLIENT
Description: $P4CLIENT
Root: $symbolic
LineEnd: unix
View: //depot/... //$P4CLIENT/...
EOF
git p4 clone --dest="$git" //depot &&
cd "$git" &&
test_commit file2 &&
git config git-p4.skipSubmitEdit true &&
git p4 submit
)
'
test_expect_success 'kill p4d' '
kill_p4d
'