merge-recursive: handle NULL in add_cacheinfo() correctly
[git] / t / t9827-git-p4-change-filetype.sh
1 #!/bin/sh
2
3 test_description='git p4 support for file type change'
4
5 . ./lib-git-p4.sh
6
7 test_expect_success 'start p4d' '
8         start_p4d
9 '
10
11 test_expect_success 'create files' '
12         (
13                 cd "$cli" &&
14                 p4 client -o | sed "/LineEnd/s/:.*/:unix/" | p4 client -i &&
15                 cat >file1 <<-EOF &&
16                 text without any funny substitution business
17                 EOF
18                 cat >file2 <<-EOF &&
19                 second file whose type will change
20                 EOF
21                 p4 add file1 file2 &&
22                 p4 submit -d "add files"
23         )
24 '
25
26 test_expect_success SYMLINKS 'change file to symbolic link' '
27         git p4 clone --dest="$git" //depot@all &&
28         test_when_finished cleanup_git &&
29         (
30                 cd "$git" &&
31                 git config git-p4.skipSubmitEdit true &&
32
33                 rm file2 &&
34                 ln -s file1 file2 &&
35                 git add file2 &&
36                 git commit -m "symlink file1 to file2" &&
37                 git p4 submit &&
38                 p4 filelog -m 1 //depot/file2 >filelog &&
39                 grep "(symlink)" filelog
40         )
41 '
42
43 test_expect_success SYMLINKS 'change symbolic link to file' '
44         git p4 clone --dest="$git" //depot@all &&
45         test_when_finished cleanup_git &&
46         (
47                 cd "$git" &&
48                 git config git-p4.skipSubmitEdit true &&
49
50                 rm file2 &&
51                 cat >file2 <<-EOF &&
52                 This is another content for the second file.
53                 EOF
54                 git add file2 &&
55                 git commit -m "re-write file2" &&
56                 git p4 submit &&
57                 p4 filelog -m 1 //depot/file2 >filelog &&
58                 grep "(text)" filelog
59         )
60 '
61
62 test_expect_success 'kill p4d' '
63         kill_p4d
64 '
65
66 test_done