blob 01b070b9e46efc6dc1c6789da54d89a553ecf803 2863 bytes (raw)
name: t/t7607-merge-overwrite.sh # note: path name is non-authoritative(*)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
| | #!/bin/sh
test_description='git-merge
Do not overwrite changes.'
. ./test-lib.sh
test_expect_success 'setup' '
test_commit c0 &&
test_commit c1 &&
test_commit "c1a" "c1.t" "c1 a" &&
git reset --hard c0 &&
test_commit c2 &&
git reset --hard c0 &&
mkdir sub &&
echo "sub/f" > sub/f &&
git add sub/f &&
git commit -m sub &&
git tag sub &&
echo "VERY IMPORTANT CHANGES" > important
'
test_expect_success 'will not overwrite untracked file' '
git reset --hard c1 &&
cp important c2.t &&
test_must_fail git merge c2 &&
! test -f .git/MERGE_HEAD &&
test_cmp important c2.t
'
test_expect_success 'will overwrite tracked file' '
git reset --hard c1 &&
cp important c2.t &&
git add c2.t &&
git commit -m important &&
git checkout c2
'
test_expect_success 'will not overwrite new file' '
git reset --hard c1 &&
cp important c2.t &&
git add c2.t &&
test_must_fail git merge c2 &&
! test -f .git/MERGE_HEAD &&
test_cmp important c2.t
'
test_expect_success 'will not overwrite staged changes' '
git reset --hard c1 &&
cp important c2.t &&
git add c2.t &&
rm c2.t &&
test_must_fail git merge c2 &&
! test -f .git/MERGE_HEAD &&
git checkout c2.t &&
test_cmp important c2.t
'
test_expect_success 'will not overwrite removed file' '
git reset --hard c1 &&
git rm c1.t &&
git commit -m "rm c1.t" &&
cp important c1.t &&
test_must_fail git merge c1a &&
test_cmp important c1.t
'
test_expect_success 'will not overwrite re-added file' '
git reset --hard c1 &&
git rm c1.t &&
git commit -m "rm c1.t" &&
cp important c1.t &&
git add c1.t &&
test_must_fail git merge c1a &&
! test -f .git/MERGE_HEAD &&
test_cmp important c1.t
'
test_expect_success 'will not overwrite removed file with staged changes' '
git reset --hard c1 &&
git rm c1.t &&
git commit -m "rm c1.t" &&
cp important c1.t &&
git add c1.t &&
rm c1.t &&
test_must_fail git merge c1a &&
! test -f .git/MERGE_HEAD &&
git checkout c1.t &&
test_cmp important c1.t
'
test_expect_success 'will not overwrite untracked subtree' '
git reset --hard c0 &&
rm -rf sub &&
mkdir -p sub/f &&
cp important sub/f/important &&
test_must_fail git merge sub &&
! test -f .git/MERGE_HEAD &&
test_cmp important sub/f/important
'
test_expect_failure 'will not overwrite untracked file in leading path' '
git reset --hard c0 &&
rm -rf sub &&
cp important sub &&
test_must_fail git merge sub &&
! test -f .git/MERGE_HEAD &&
test_cmp important sub
'
test_expect_failure 'will not overwrite untracked symlink in leading path' '
git reset --hard c0 &&
rm -rf sub &&
mkdir sub2 &&
ln -s sub2 sub &&
test_must_fail git merge sub &&
! test -f .git/MERGE_HEAD
'
test_expect_success 'will not be confused by symlink in leading path' '
git reset --hard c0 &&
rm -rf sub &&
ln -s sub2 sub &&
git add sub &&
git commit -m ln &&
git checkout sub
'
test_done
|
debug log:
solving 01b070b ...
found 01b070b in https://public-inbox.org/git/1286632380-7002-3-git-send-email-drizzd@aon.at/
found 6ed40b1 in https://public-inbox.org/git/1286632380-7002-2-git-send-email-drizzd@aon.at/
found d82349a in https://80x24.org/mirrors/git.git
preparing index
index prepared:
100755 d82349a6a8d6c12c3ca4398a18bd6c1dd42efdc9 t/t7607-merge-overwrite.sh
applying [1/2] https://public-inbox.org/git/1286632380-7002-2-git-send-email-drizzd@aon.at/
diff --git a/t/t7607-merge-overwrite.sh b/t/t7607-merge-overwrite.sh
index d82349a..6ed40b1 100755
applying [2/2] https://public-inbox.org/git/1286632380-7002-3-git-send-email-drizzd@aon.at/
diff --git a/t/t7607-merge-overwrite.sh b/t/t7607-merge-overwrite.sh
index 6ed40b1..01b070b 100755
Checking patch t/t7607-merge-overwrite.sh...
Applied patch t/t7607-merge-overwrite.sh cleanly.
Checking patch t/t7607-merge-overwrite.sh...
Applied patch t/t7607-merge-overwrite.sh cleanly.
index at:
100755 01b070b9e46efc6dc1c6789da54d89a553ecf803 t/t7607-merge-overwrite.sh
(*) Git path names are given by the tree(s) the blob belongs to.
Blobs themselves have no identifier aside from the hash of its contents.^
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).