Skip to content

Commit

Permalink
git p4 test: use real_path to resolve p4 client symlinks
Browse files Browse the repository at this point in the history
The p4 program is finicky about making sure the recorded client Root
matches the current working directory.  The way it discovers the latter
seems to be to inspect shell variable $PWD.  This could involve symlinks,
that while leading to the same place as the client Root, look different,
and cause p4 to fail.

Resolve all client paths using "test-path-utils real_path $path".  This
removes ".." and resolves all symlinks.

Discovered while running with --root=/dev/shm, which is a link to
/run/shm.

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 Jun 28, 2012
1 parent f89f35a commit 23bd0c9
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion t/lib-git-p4.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export P4CLIENT=client
export P4EDITOR=:

db="$TRASH_DIRECTORY/db"
cli="$TRASH_DIRECTORY/cli"
cli=$(test-path-utils real_path "$TRASH_DIRECTORY/cli")
git="$TRASH_DIRECTORY/git"
pidfile="$TRASH_DIRECTORY/p4d.pid"

Expand Down
2 changes: 1 addition & 1 deletion t/t9806-git-p4-options.sh
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ test_expect_success 'clone --use-client-spec' '
exec >/dev/null &&
test_must_fail git p4 clone --dest="$git" --use-client-spec
) &&
cli2="$TRASH_DIRECTORY/cli2" &&
cli2=$(test-path-utils real_path "$TRASH_DIRECTORY/cli2") &&
mkdir -p "$cli2" &&
test_when_finished "rmdir \"$cli2\"" &&
(
Expand Down
2 changes: 1 addition & 1 deletion t/t9810-git-p4-rcs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ test_expect_success 'cope with rcs keyword expansion damage' '
cd "$git" &&
git config git-p4.skipSubmitEdit true &&
git config git-p4.attemptRCSCleanup true &&
(cd ../cli && p4_append_to_file kwfile1.c) &&
(cd "$cli" && p4_append_to_file kwfile1.c) &&
old_lines=$(wc -l <kwfile1.c) &&
perl -n -i -e "print unless m/Revision:/" kwfile1.c &&
new_lines=$(wc -l <kwfile1.c) &&
Expand Down

0 comments on commit 23bd0c9

Please sign in to comment.