3 test_description
='unpack-trees error messages'
5 GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
=main
6 export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
11 test_expect_success
'setup' '
14 git commit -a -m First &&
16 git checkout -b branch &&
21 git add two three four five &&
22 git commit -m Second &&
32 error
: The following untracked working tree files would be overwritten by merge
:
37 Please move or remove them before you merge.
41 test_expect_success
'untracked files overwritten by merge (fast and non-fast forward)' '
42 test_must_fail git merge branch 2>out &&
43 test_cmp out expect &&
44 git commit --allow-empty -m empty &&
46 GIT_MERGE_VERBOSITY=0 &&
47 export GIT_MERGE_VERBOSITY &&
48 test_must_fail git merge branch 2>out2
50 test_cmp out2 expect &&
51 git reset --hard HEAD^
55 error
: Your
local changes to the following files would be overwritten by merge
:
59 Please commit your changes or stash them before you merge.
60 error
: The following untracked working tree files would be overwritten by merge
:
62 Please move or remove them before you merge.
66 test_expect_success
'untracked files or local changes ovewritten by merge' '
70 test_must_fail git merge branch 2>out &&
75 error
: Your
local changes to the following files would be overwritten by checkout
:
78 Please commit your changes or stash them before you switch branches.
82 test_expect_success
'cannot switch branches because of local changes' '
87 git add rep/one rep/two &&
88 git commit -m Fourth &&
92 test_must_fail git checkout branch 2>out &&
97 error
: Your
local changes to the following files would be overwritten by checkout
:
100 Please commit your changes or stash them before you switch branches.
104 test_expect_success
'not uptodate file porcelain checkout error' '
105 git add rep/one rep/two &&
106 test_must_fail git checkout branch 2>out &&
111 error
: Updating the following directories would lose untracked files
in them
:
118 test_expect_success
'not_uptodate_dir porcelain checkout error' '
125 git add rep/foo rep2/foo &&
126 git commit -m init &&
127 git checkout -b branch &&
133 git commit -m "added test as a file" &&
135 >rep/untracked-file &&
136 >rep2/untracked-file &&
137 test_must_fail git checkout branch 2>out &&
138 test_cmp out ../expect