Skip to content

Commit

Permalink
git p4 test: should honor symlink in p4 client root
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Pete Wyckoff authored and Junio C Hamano committed Mar 11, 2013
1 parent 9e7b8ef commit 89773db
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions t/t9808-git-p4-chdir.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
'
Expand Down

0 comments on commit 89773db

Please sign in to comment.