mirror of
https://github.com/git/git
synced 2024-08-24 02:11:08 +00:00
![Denton Liu](/assets/img/avatar_default.png)
The test_must_fail() family of functions (including test_might_fail()) should only be used on git commands. Replace test_might_fail() with a compound command wrapping the old p4 invocation that always returns 0. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
71 lines
2.3 KiB
Bash
Executable file
71 lines
2.3 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
test_description='git p4 directory/file bug handling
|
|
|
|
This test creates files and directories with the same name in perforce and
|
|
checks that git-p4 recovers from the error at the same time as the perforce
|
|
repository.'
|
|
|
|
. ./lib-git-p4.sh
|
|
|
|
test_expect_success 'start p4d' '
|
|
start_p4d &&
|
|
{ p4 configure set submit.collision.check=0 || :; }
|
|
'
|
|
|
|
test_expect_success 'init depot' '
|
|
(
|
|
cd "$cli" &&
|
|
|
|
touch add_file_add_dir_del_file add_file_add_dir_del_dir &&
|
|
p4 add add_file_add_dir_del_file add_file_add_dir_del_dir &&
|
|
mkdir add_dir_add_file_del_file add_dir_add_file_del_dir &&
|
|
touch add_dir_add_file_del_file/file add_dir_add_file_del_dir/file &&
|
|
p4 add add_dir_add_file_del_file/file add_dir_add_file_del_dir/file &&
|
|
p4 submit -d "add initial" &&
|
|
|
|
rm -f add_file_add_dir_del_file add_file_add_dir_del_dir &&
|
|
mkdir add_file_add_dir_del_file add_file_add_dir_del_dir &&
|
|
touch add_file_add_dir_del_file/file add_file_add_dir_del_dir/file &&
|
|
p4 add add_file_add_dir_del_file/file add_file_add_dir_del_dir/file &&
|
|
rm -rf add_dir_add_file_del_file add_dir_add_file_del_dir &&
|
|
touch add_dir_add_file_del_file add_dir_add_file_del_dir &&
|
|
p4 add add_dir_add_file_del_file add_dir_add_file_del_dir &&
|
|
p4 submit -d "add conflicting" &&
|
|
|
|
p4 delete -k add_file_add_dir_del_file &&
|
|
p4 delete -k add_file_add_dir_del_dir/file &&
|
|
p4 delete -k add_dir_add_file_del_file &&
|
|
p4 delete -k add_dir_add_file_del_dir/file &&
|
|
p4 submit -d "delete conflicting" &&
|
|
|
|
p4 delete -k "add_file_add_dir_del_file/file" &&
|
|
p4 delete -k "add_file_add_dir_del_dir" &&
|
|
p4 delete -k "add_dir_add_file_del_file/file" &&
|
|
p4 delete -k "add_dir_add_file_del_dir" &&
|
|
p4 submit -d "delete remaining"
|
|
)
|
|
'
|
|
|
|
test_expect_success 'clone with git-p4' '
|
|
git p4 clone --dest="$git" //depot/@1,3
|
|
'
|
|
|
|
test_expect_success 'check contents' '
|
|
test_path_is_dir "$git/add_file_add_dir_del_file" &&
|
|
test_path_is_file "$git/add_file_add_dir_del_dir" &&
|
|
test_path_is_dir "$git/add_dir_add_file_del_file" &&
|
|
test_path_is_file "$git/add_dir_add_file_del_dir"
|
|
'
|
|
|
|
test_expect_success 'rebase and check empty' '
|
|
git -C "$git" p4 rebase &&
|
|
|
|
test_path_is_missing "$git/add_file_add_dir_del_file" &&
|
|
test_path_is_missing "$git/add_file_add_dir_del_dir" &&
|
|
test_path_is_missing "$git/add_dir_add_file_del_file" &&
|
|
test_path_is_missing "$git/add_dir_add_file_del_dir"
|
|
'
|
|
|
|
test_done
|