mirror of
https://github.com/git/git.git
synced 2024-12-02 22:43:44 +08:00
df8a9e86db
When submitting to P4, if git-p4 came across a symlinked directory, then during the generation of the submit diff, it would try to open it as a normal file and fail. Spot symlinks (of any type) and output a description of the symlink instead. Add a test case. Signed-off-by: Luke Diamand <luke@diamand.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
44 lines
789 B
Bash
Executable File
44 lines
789 B
Bash
Executable File
#!/bin/sh
|
|
|
|
test_description='git p4 symlinked directories'
|
|
|
|
. ./lib-git-p4.sh
|
|
|
|
test_expect_success 'start p4d' '
|
|
start_p4d
|
|
'
|
|
|
|
test_expect_success 'symlinked directory' '
|
|
(
|
|
cd "$cli" &&
|
|
: >first_file.t &&
|
|
p4 add first_file.t &&
|
|
p4 submit -d "first change"
|
|
) &&
|
|
git p4 clone --dest "$git" //depot &&
|
|
(
|
|
cd "$git" &&
|
|
mkdir -p some/sub/directory &&
|
|
mkdir -p other/subdir2 &&
|
|
: > other/subdir2/file.t &&
|
|
(cd some/sub/directory && ln -s ../../../other/subdir2 .) &&
|
|
git add some other &&
|
|
git commit -m "symlinks" &&
|
|
git config git-p4.skipSubmitEdit true &&
|
|
git p4 submit -v
|
|
) &&
|
|
(
|
|
cd "$cli" &&
|
|
p4 sync &&
|
|
test -L some/sub/directory/subdir2
|
|
test_path_is_file some/sub/directory/subdir2/file.t
|
|
)
|
|
|
|
'
|
|
|
|
test_expect_success 'kill p4d' '
|
|
kill_p4d
|
|
'
|
|
|
|
test_done
|