Browse Source

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>
maint
Pete Wyckoff 12 years ago committed by Junio C Hamano
parent
commit
89773db3e8
  1. 27
      t/t9808-git-p4-chdir.sh

27
t/t9808-git-p4-chdir.sh

@ -56,6 +56,33 @@ test_expect_success 'p4 client root would be relative due to clone --dest' ' @@ -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
'

Loading…
Cancel
Save