MinGW: Use pid_t more consequently, introduce uid_t for greater compatibility
[git/dscho.git] / t / t7609-merge-co-error-msgs.sh
blob1a109b41dc6d538490d62dd9421fd1aea0c9eb7f
1 #!/bin/sh
3 test_description='unpack-trees error messages'
5 . ./test-lib.sh
8 test_expect_success 'setup' '
9 echo one >one &&
10 git add one &&
11 git commit -a -m First &&
13 git checkout -b branch &&
14 echo two >two &&
15 echo three >three &&
16 echo four >four &&
17 echo five >five &&
18 git add two three four five &&
19 git commit -m Second &&
21 git checkout master &&
22 echo other >two &&
23 echo other >three &&
24 echo other >four &&
25 echo other >five
28 cat >expect <<\EOF
29 error: The following untracked working tree files would be overwritten by merge:
30 two
31 three
32 four
33 five
34 Please move or remove them before you can merge.
35 EOF
37 test_expect_success 'untracked files overwritten by merge' '
38 test_must_fail git merge branch 2>out &&
39 test_cmp out expect
42 cat >expect <<\EOF
43 error: Your local changes to the following files would be overwritten by merge:
44 two
45 three
46 four
47 Please, commit your changes or stash them before you can merge.
48 error: The following untracked working tree files would be overwritten by merge:
49 five
50 Please move or remove them before you can merge.
51 EOF
53 test_expect_success 'untracked files or local changes ovewritten by merge' '
54 git add two &&
55 git add three &&
56 git add four &&
57 test_must_fail git merge branch 2>out &&
58 test_cmp out expect
61 cat >expect <<\EOF
62 error: Your local changes to the following files would be overwritten by checkout:
63 rep/two
64 rep/one
65 Please, commit your changes or stash them before you can switch branches.
66 EOF
68 test_expect_success 'cannot switch branches because of local changes' '
69 git add five &&
70 mkdir rep &&
71 echo one >rep/one &&
72 echo two >rep/two &&
73 git add rep/one rep/two &&
74 git commit -m Fourth &&
75 git checkout master &&
76 echo uno >rep/one &&
77 echo dos >rep/two &&
78 test_must_fail git checkout branch 2>out &&
79 test_cmp out expect
82 cat >expect <<\EOF
83 error: Your local changes to the following files would be overwritten by checkout:
84 rep/two
85 rep/one
86 Please, commit your changes or stash them before you can switch branches.
87 EOF
89 test_expect_success 'not uptodate file porcelain checkout error' '
90 git add rep/one rep/two &&
91 test_must_fail git checkout branch 2>out &&
92 test_cmp out expect
95 cat >expect <<\EOF
96 error: Updating the following directories would lose untracked files in it:
97 rep2
98 rep
102 test_expect_success 'not_uptodate_dir porcelain checkout error' '
103 git init uptodate &&
104 cd uptodate &&
105 mkdir rep &&
106 mkdir rep2 &&
107 touch rep/foo &&
108 touch rep2/foo &&
109 git add rep/foo rep2/foo &&
110 git commit -m init &&
111 git checkout -b branch &&
112 git rm rep -r &&
113 git rm rep2 -r &&
114 >rep &&
115 >rep2 &&
116 git add rep rep2&&
117 git commit -m "added test as a file" &&
118 git checkout master &&
119 >rep/untracked-file &&
120 >rep2/untracked-file &&
121 test_must_fail git checkout branch 2>out &&
122 test_cmp out ../expect
125 test_done