Git fork
1#!/bin/sh
2
3test_description='cherry-pick can handle submodules'
4
5GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main
6export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
7
8. ./test-lib.sh
9. "$TEST_DIRECTORY"/lib-submodule-update.sh
10
11test_submodule_switch "cherry-pick"
12
13test_expect_success 'unrelated submodule/file conflict is ignored' '
14 test_config_global protocol.file.allow always &&
15
16 test_create_repo sub &&
17
18 touch sub/file &&
19 git -C sub add file &&
20 git -C sub commit -m "add a file in a submodule" &&
21
22 test_create_repo a_repo &&
23 (
24 cd a_repo &&
25 >a_file &&
26 git add a_file &&
27 git commit -m "add a file" &&
28
29 git branch test &&
30 git checkout test &&
31
32 mkdir sub &&
33 >sub/content &&
34 git add sub/content &&
35 git commit -m "add a regular folder with name sub" &&
36
37 echo "123" >a_file &&
38 git add a_file &&
39 git commit -m "modify a file" &&
40
41 git checkout main &&
42
43 git submodule add ../sub sub &&
44 git submodule update sub &&
45 git commit -m "add a submodule info folder with name sub" &&
46
47 git cherry-pick test
48 )
49'
50
51test_done