1#!/bin/sh
2
3test_description='git p4 support for file type change'
4
5. ./lib-git-p4.sh
6
7test_expect_success 'start p4d' '
8	start_p4d
9'
10
11test_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
26test_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
43test_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
62test_done
63