]> git.ipfire.org Git - thirdparty/git.git/blob - t/t9817-git-p4-exclude.sh
Sync with 2.16.6
[thirdparty/git.git] / t / t9817-git-p4-exclude.sh
1 #!/bin/sh
2
3 test_description='git p4 tests for excluded paths during clone and sync'
4
5 . ./lib-git-p4.sh
6
7 test_expect_success 'start p4d' '
8 start_p4d
9 '
10
11 # Create a repo with the structure:
12 #
13 # //depot/wanted/foo
14 # //depot/discard/foo
15 #
16 # Check that we can exclude a subdirectory with both
17 # clone and sync operations.
18
19 test_expect_success 'create exclude repo' '
20 (
21 cd "$cli" &&
22 mkdir -p wanted discard &&
23 echo wanted >wanted/foo &&
24 echo discard >discard/foo &&
25 p4 add wanted/foo discard/foo &&
26 p4 submit -d "initial revision"
27 )
28 '
29
30 test_expect_success 'check the repo was created correctly' '
31 test_when_finished cleanup_git &&
32 git p4 clone --dest="$git" //depot/...@all &&
33 (
34 cd "$git" &&
35 test_path_is_file wanted/foo &&
36 test_path_is_file discard/foo
37 )
38 '
39
40 test_expect_success 'clone, excluding part of repo' '
41 test_when_finished cleanup_git &&
42 git p4 clone -//depot/discard/... --dest="$git" //depot/...@all &&
43 (
44 cd "$git" &&
45 test_path_is_file wanted/foo &&
46 test_path_is_missing discard/foo
47 )
48 '
49
50 test_expect_success 'clone, then sync with exclude' '
51 test_when_finished cleanup_git &&
52 git p4 clone -//depot/discard/... --dest="$git" //depot/...@all &&
53 (
54 cd "$cli" &&
55 p4 edit wanted/foo discard/foo &&
56 date >>wanted/foo &&
57 date >>discard/foo &&
58 p4 submit -d "updating" &&
59
60 cd "$git" &&
61 git p4 sync -//depot/discard/... &&
62 test_path_is_file wanted/foo &&
63 test_path_is_missing discard/foo
64 )
65 '
66
67 test_expect_success 'kill p4d' '
68 kill_p4d
69 '
70
71 test_done