3 234035bc 2019-06-01 stsp # Copyright (c) 2019 Stefan Sperling <stsp@openbsd.org>
5 234035bc 2019-06-01 stsp # Permission to use, copy, modify, and distribute this software for any
6 234035bc 2019-06-01 stsp # purpose with or without fee is hereby granted, provided that the above
7 234035bc 2019-06-01 stsp # copyright notice and this permission notice appear in all copies.
9 234035bc 2019-06-01 stsp # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 234035bc 2019-06-01 stsp # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 234035bc 2019-06-01 stsp # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 234035bc 2019-06-01 stsp # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 234035bc 2019-06-01 stsp # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 234035bc 2019-06-01 stsp # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 234035bc 2019-06-01 stsp # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 234035bc 2019-06-01 stsp . ./common.sh
19 f6cae3ed 2020-09-13 naddy test_cherrypick_basic() {
20 234035bc 2019-06-01 stsp local testroot=`test_init cherrypick_basic`
22 234035bc 2019-06-01 stsp got checkout $testroot/repo $testroot/wt > /dev/null
24 234035bc 2019-06-01 stsp if [ "$ret" != "0" ]; then
25 234035bc 2019-06-01 stsp test_done "$testroot" "$ret"
29 234035bc 2019-06-01 stsp (cd $testroot/repo && git checkout -q -b newbranch)
30 234035bc 2019-06-01 stsp echo "modified delta on branch" > $testroot/repo/gamma/delta
31 234035bc 2019-06-01 stsp git_commit $testroot/repo -m "committing to delta on newbranch"
33 234035bc 2019-06-01 stsp echo "modified alpha on branch" > $testroot/repo/alpha
34 234035bc 2019-06-01 stsp (cd $testroot/repo && git rm -q beta)
35 234035bc 2019-06-01 stsp echo "new file on branch" > $testroot/repo/epsilon/new
36 234035bc 2019-06-01 stsp (cd $testroot/repo && git add epsilon/new)
37 234035bc 2019-06-01 stsp git_commit $testroot/repo -m "committing more changes on newbranch"
39 234035bc 2019-06-01 stsp local branch_rev=`git_show_head $testroot/repo`
41 234035bc 2019-06-01 stsp (cd $testroot/wt && got cherrypick $branch_rev > $testroot/stdout)
43 234035bc 2019-06-01 stsp echo "G alpha" > $testroot/stdout.expected
44 234035bc 2019-06-01 stsp echo "D beta" >> $testroot/stdout.expected
45 234035bc 2019-06-01 stsp echo "A epsilon/new" >> $testroot/stdout.expected
46 a7648d7a 2019-06-02 stsp echo "Merged commit $branch_rev" >> $testroot/stdout.expected
48 234035bc 2019-06-01 stsp cmp -s $testroot/stdout.expected $testroot/stdout
50 234035bc 2019-06-01 stsp if [ "$ret" != "0" ]; then
51 234035bc 2019-06-01 stsp diff -u $testroot/stdout.expected $testroot/stdout
52 234035bc 2019-06-01 stsp test_done "$testroot" "$ret"
56 234035bc 2019-06-01 stsp echo "modified alpha on branch" > $testroot/content.expected
57 234035bc 2019-06-01 stsp cat $testroot/wt/alpha > $testroot/content
58 234035bc 2019-06-01 stsp cmp -s $testroot/content.expected $testroot/content
60 234035bc 2019-06-01 stsp if [ "$ret" != "0" ]; then
61 234035bc 2019-06-01 stsp diff -u $testroot/content.expected $testroot/content
62 234035bc 2019-06-01 stsp test_done "$testroot" "$ret"
66 234035bc 2019-06-01 stsp if [ -e $testroot/wt/beta ]; then
67 234035bc 2019-06-01 stsp echo "removed file beta still exists on disk" >&2
68 234035bc 2019-06-01 stsp test_done "$testroot" "1"
72 234035bc 2019-06-01 stsp echo "new file on branch" > $testroot/content.expected
73 234035bc 2019-06-01 stsp cat $testroot/wt/epsilon/new > $testroot/content
74 234035bc 2019-06-01 stsp cmp -s $testroot/content.expected $testroot/content
76 234035bc 2019-06-01 stsp if [ "$ret" != "0" ]; then
77 234035bc 2019-06-01 stsp diff -u $testroot/content.expected $testroot/content
78 234035bc 2019-06-01 stsp test_done "$testroot" "$ret"
82 2b92fad7 2019-06-02 stsp echo 'M alpha' > $testroot/stdout.expected
83 2b92fad7 2019-06-02 stsp echo 'D beta' >> $testroot/stdout.expected
84 2b92fad7 2019-06-02 stsp echo 'A epsilon/new' >> $testroot/stdout.expected
86 2b92fad7 2019-06-02 stsp (cd $testroot/wt && got status > $testroot/stdout)
88 2b92fad7 2019-06-02 stsp cmp -s $testroot/stdout.expected $testroot/stdout
90 2b92fad7 2019-06-02 stsp if [ "$ret" != "0" ]; then
91 2b92fad7 2019-06-02 stsp diff -u $testroot/stdout.expected $testroot/stdout
93 234035bc 2019-06-01 stsp test_done "$testroot" "$ret"
96 f6cae3ed 2020-09-13 naddy test_cherrypick_root_commit() {
97 03415a1a 2019-06-02 stsp local testroot=`test_init cherrypick_root_commit`
99 03415a1a 2019-06-02 stsp got checkout $testroot/repo $testroot/wt > /dev/null
101 03415a1a 2019-06-02 stsp if [ "$ret" != "0" ]; then
102 03415a1a 2019-06-02 stsp test_done "$testroot" "$ret"
106 03415a1a 2019-06-02 stsp (cd $testroot/repo && git checkout -q -b newbranch)
107 03415a1a 2019-06-02 stsp (cd $testroot/repo && git rm -q alpha)
108 03415a1a 2019-06-02 stsp (cd $testroot/repo && git rm -q beta)
109 03415a1a 2019-06-02 stsp (cd $testroot/repo && git rm -q epsilon/zeta)
110 03415a1a 2019-06-02 stsp (cd $testroot/repo && git rm -q gamma/delta)
111 03415a1a 2019-06-02 stsp mkdir -p $testroot/repo/epsilon
112 03415a1a 2019-06-02 stsp echo "new file on branch" > $testroot/repo/epsilon/new
113 03415a1a 2019-06-02 stsp (cd $testroot/repo && git add epsilon/new)
114 03415a1a 2019-06-02 stsp git_commit $testroot/repo -m "committing on newbranch"
116 03415a1a 2019-06-02 stsp echo "modified new file on branch" >> $testroot/repo/epsilon/new
117 03415a1a 2019-06-02 stsp git_commit $testroot/repo -m "committing on newbranch again"
119 03415a1a 2019-06-02 stsp tree=`git_show_tree $testroot/repo`
120 03415a1a 2019-06-02 stsp root_commit=`git_commit_tree $testroot/repo "new root commit" $tree`
122 03415a1a 2019-06-02 stsp (cd $testroot/wt && got cherrypick $root_commit > $testroot/stdout)
124 03415a1a 2019-06-02 stsp echo "A epsilon/new" > $testroot/stdout.expected
125 a7648d7a 2019-06-02 stsp echo "Merged commit $root_commit" >> $testroot/stdout.expected
127 03415a1a 2019-06-02 stsp cmp -s $testroot/stdout.expected $testroot/stdout
129 03415a1a 2019-06-02 stsp if [ "$ret" != "0" ]; then
130 03415a1a 2019-06-02 stsp diff -u $testroot/stdout.expected $testroot/stdout
131 03415a1a 2019-06-02 stsp test_done "$testroot" "$ret"
135 03415a1a 2019-06-02 stsp echo "new file on branch" > $testroot/content.expected
136 03415a1a 2019-06-02 stsp echo "modified new file on branch" >> $testroot/content.expected
137 03415a1a 2019-06-02 stsp cat $testroot/wt/epsilon/new > $testroot/content
138 03415a1a 2019-06-02 stsp cmp -s $testroot/content.expected $testroot/content
140 03415a1a 2019-06-02 stsp if [ "$ret" != "0" ]; then
141 03415a1a 2019-06-02 stsp diff -u $testroot/content.expected $testroot/content
142 03415a1a 2019-06-02 stsp test_done "$testroot" "$ret"
146 03415a1a 2019-06-02 stsp echo 'A epsilon/new' > $testroot/stdout.expected
148 03415a1a 2019-06-02 stsp (cd $testroot/wt && got status > $testroot/stdout)
150 03415a1a 2019-06-02 stsp cmp -s $testroot/stdout.expected $testroot/stdout
152 03415a1a 2019-06-02 stsp if [ "$ret" != "0" ]; then
153 03415a1a 2019-06-02 stsp diff -u $testroot/stdout.expected $testroot/stdout
155 03415a1a 2019-06-02 stsp test_done "$testroot" "$ret"
158 f6cae3ed 2020-09-13 naddy test_cherrypick_into_work_tree_with_conflicts() {
159 ceb466a7 2020-04-18 stsp local testroot=`test_init cherrypick_into_work_tree_with_conflicts`
161 ceb466a7 2020-04-18 stsp got checkout $testroot/repo $testroot/wt > /dev/null
163 ceb466a7 2020-04-18 stsp if [ "$ret" != "0" ]; then
164 ceb466a7 2020-04-18 stsp test_done "$testroot" "$ret"
168 ceb466a7 2020-04-18 stsp (cd $testroot/repo && git checkout -q -b newbranch)
169 ceb466a7 2020-04-18 stsp echo "modified delta on branch" > $testroot/repo/gamma/delta
170 ceb466a7 2020-04-18 stsp git_commit $testroot/repo -m "committing to delta on newbranch"
172 ceb466a7 2020-04-18 stsp echo "modified alpha on branch" > $testroot/repo/alpha
173 ceb466a7 2020-04-18 stsp (cd $testroot/repo && git rm -q beta)
174 ceb466a7 2020-04-18 stsp echo "new file on branch" > $testroot/repo/epsilon/new
175 ceb466a7 2020-04-18 stsp (cd $testroot/repo && git add epsilon/new)
176 ceb466a7 2020-04-18 stsp git_commit $testroot/repo -m "committing more changes on newbranch"
178 ceb466a7 2020-04-18 stsp local branch_rev=`git_show_head $testroot/repo`
180 ceb466a7 2020-04-18 stsp # fake a merge conflict
181 ceb466a7 2020-04-18 stsp echo '<<<<<<<' > $testroot/wt/alpha
182 ceb466a7 2020-04-18 stsp echo 'alpha' >> $testroot/wt/alpha
183 ceb466a7 2020-04-18 stsp echo '=======' >> $testroot/wt/alpha
184 ceb466a7 2020-04-18 stsp echo 'alpha, too' >> $testroot/wt/alpha
185 ceb466a7 2020-04-18 stsp echo '>>>>>>>' >> $testroot/wt/alpha
186 ceb466a7 2020-04-18 stsp cp $testroot/wt/alpha $testroot/content.expected
188 ceb466a7 2020-04-18 stsp echo "C alpha" > $testroot/stdout.expected
189 ceb466a7 2020-04-18 stsp (cd $testroot/wt && got status > $testroot/stdout)
190 ceb466a7 2020-04-18 stsp cmp -s $testroot/stdout.expected $testroot/stdout
192 ceb466a7 2020-04-18 stsp if [ "$ret" != "0" ]; then
193 ceb466a7 2020-04-18 stsp diff -u $testroot/stdout.expected $testroot/stdout
194 ceb466a7 2020-04-18 stsp test_done "$testroot" "$ret"
198 ceb466a7 2020-04-18 stsp (cd $testroot/wt && got cherrypick $branch_rev \
199 ceb466a7 2020-04-18 stsp > $testroot/stdout 2> $testroot/stderr)
201 ceb466a7 2020-04-18 stsp if [ "$ret" == "0" ]; then
202 ceb466a7 2020-04-18 stsp echo "cherrypick succeeded unexpectedly" >&2
203 ceb466a7 2020-04-18 stsp test_done "$testroot" "1"
207 ceb466a7 2020-04-18 stsp echo -n > $testroot/stdout.expected
208 ceb466a7 2020-04-18 stsp echo -n "got: work tree contains conflicted files; " \
209 ceb466a7 2020-04-18 stsp > $testroot/stderr.expected
210 ceb466a7 2020-04-18 stsp echo "these conflicts must be resolved first" \
211 ceb466a7 2020-04-18 stsp >> $testroot/stderr.expected
213 ceb466a7 2020-04-18 stsp cmp -s $testroot/stdout.expected $testroot/stdout
215 ceb466a7 2020-04-18 stsp if [ "$ret" != "0" ]; then
216 ceb466a7 2020-04-18 stsp diff -u $testroot/stdout.expected $testroot/stdout
217 ceb466a7 2020-04-18 stsp test_done "$testroot" "$ret"
221 ceb466a7 2020-04-18 stsp cmp -s $testroot/stderr.expected $testroot/stderr
223 ceb466a7 2020-04-18 stsp if [ "$ret" != "0" ]; then
224 ceb466a7 2020-04-18 stsp diff -u $testroot/stderr.expected $testroot/stderr
225 ceb466a7 2020-04-18 stsp test_done "$testroot" "$ret"
229 ceb466a7 2020-04-18 stsp cmp -s $testroot/content.expected $testroot/wt/alpha
231 ceb466a7 2020-04-18 stsp if [ "$ret" != "0" ]; then
232 ceb466a7 2020-04-18 stsp diff -u $testroot/content.expected $testroot/wt/alpha
234 e7303626 2020-05-14 stsp test_done "$testroot" "$ret"
237 f6cae3ed 2020-09-13 naddy test_cherrypick_modified_submodule() {
238 e7303626 2020-05-14 stsp local testroot=`test_init cherrypick_modified_submodules`
240 e7303626 2020-05-14 stsp make_single_file_repo $testroot/repo2 foo
242 e7303626 2020-05-14 stsp (cd $testroot/repo && git submodule -q add ../repo2)
243 e7303626 2020-05-14 stsp (cd $testroot/repo && git commit -q -m 'adding submodule')
245 e7303626 2020-05-14 stsp got checkout $testroot/repo $testroot/wt > /dev/null
247 e7303626 2020-05-14 stsp echo "modified foo" > $testroot/repo2/foo
248 e7303626 2020-05-14 stsp (cd $testroot/repo2 && git commit -q -a -m 'modified a submodule')
250 e7303626 2020-05-14 stsp (cd $testroot/repo && git checkout -q -b newbranch)
251 e7303626 2020-05-14 stsp # Update the repo/repo2 submodule link on newbranch
252 e7303626 2020-05-14 stsp (cd $testroot/repo && git -C repo2 pull -q)
253 e7303626 2020-05-14 stsp (cd $testroot/repo && git add repo2)
254 e7303626 2020-05-14 stsp git_commit $testroot/repo -m "modified submodule link"
255 e7303626 2020-05-14 stsp local commit_id=`git_show_head $testroot/repo`
257 e7303626 2020-05-14 stsp # This cherrypick is a no-op because Got's file index
258 e7303626 2020-05-14 stsp # does not track submodules.
259 e7303626 2020-05-14 stsp (cd $testroot/wt && got cherrypick $commit_id > $testroot/stdout)
261 e7303626 2020-05-14 stsp echo -n > $testroot/stdout.expected
262 e7303626 2020-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
264 e7303626 2020-05-14 stsp if [ "$ret" != "0" ]; then
265 e7303626 2020-05-14 stsp diff -u $testroot/stdout.expected $testroot/stdout
267 e7303626 2020-05-14 stsp test_done "$testroot" "$ret"
270 f6cae3ed 2020-09-13 naddy test_cherrypick_added_submodule() {
271 e7303626 2020-05-14 stsp local testroot=`test_init cherrypick_added_submodules`
273 e7303626 2020-05-14 stsp got checkout $testroot/repo $testroot/wt > /dev/null
275 e7303626 2020-05-14 stsp make_single_file_repo $testroot/repo2 foo
277 e7303626 2020-05-14 stsp # Add the repo/repo2 submodule on newbranch
278 e7303626 2020-05-14 stsp (cd $testroot/repo && git checkout -q -b newbranch)
279 e7303626 2020-05-14 stsp (cd $testroot/repo && git submodule -q add ../repo2)
280 e7303626 2020-05-14 stsp (cd $testroot/repo && git commit -q -m 'adding submodule')
281 e7303626 2020-05-14 stsp local commit_id=`git_show_head $testroot/repo`
283 e7303626 2020-05-14 stsp (cd $testroot/wt && got cherrypick $commit_id > $testroot/stdout)
285 e7303626 2020-05-14 stsp echo "A .gitmodules" > $testroot/stdout.expected
286 e7303626 2020-05-14 stsp echo "Merged commit $commit_id" >> $testroot/stdout.expected
287 e7303626 2020-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
289 e7303626 2020-05-14 stsp if [ "$ret" != "0" ]; then
290 e7303626 2020-05-14 stsp diff -u $testroot/stdout.expected $testroot/stdout
292 ceb466a7 2020-04-18 stsp test_done "$testroot" "$ret"
295 f6cae3ed 2020-09-13 naddy test_cherrypick_conflict_wt_file_vs_repo_submodule() {
296 e7303626 2020-05-14 stsp local testroot=`test_init cherrypick_conflict_wt_file_vs_repo_submodule`
298 e7303626 2020-05-14 stsp got checkout $testroot/repo $testroot/wt > /dev/null
300 e7303626 2020-05-14 stsp # Add a file which will clash with the submodule
301 e7303626 2020-05-14 stsp echo "This is a file called repo2" > $testroot/wt/repo2
302 e7303626 2020-05-14 stsp (cd $testroot/wt && got add repo2 > /dev/null)
303 e7303626 2020-05-14 stsp (cd $testroot/wt && got commit -m 'add file repo2' > /dev/null)
305 e7303626 2020-05-14 stsp if [ "$ret" != "0" ]; then
306 e7303626 2020-05-14 stsp echo "commit failed unexpectedly" >&2
307 e7303626 2020-05-14 stsp test_done "$testroot" "1"
311 e7303626 2020-05-14 stsp make_single_file_repo $testroot/repo2 foo
313 e7303626 2020-05-14 stsp # Add the repo/repo2 submodule on newbranch
314 e7303626 2020-05-14 stsp (cd $testroot/repo && git checkout -q -b newbranch)
315 e7303626 2020-05-14 stsp (cd $testroot/repo && git submodule -q add ../repo2)
316 e7303626 2020-05-14 stsp (cd $testroot/repo && git commit -q -m 'adding submodule')
317 e7303626 2020-05-14 stsp local commit_id=`git_show_head $testroot/repo`
319 e7303626 2020-05-14 stsp # Modify the clashing file such that any modifications brought
320 e7303626 2020-05-14 stsp # in by 'got cherrypick' would require a merge.
321 e7303626 2020-05-14 stsp echo "This file was changed" > $testroot/wt/repo2
323 e7303626 2020-05-14 stsp (cd $testroot/wt && got update >/dev/null)
324 e7303626 2020-05-14 stsp (cd $testroot/wt && got cherrypick $commit_id > $testroot/stdout)
326 e7303626 2020-05-14 stsp echo "A .gitmodules" > $testroot/stdout.expected
327 e7303626 2020-05-14 stsp echo "Merged commit $commit_id" >> $testroot/stdout.expected
328 e7303626 2020-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
330 e7303626 2020-05-14 stsp if [ "$ret" != "0" ]; then
331 e7303626 2020-05-14 stsp diff -u $testroot/stdout.expected $testroot/stdout
332 e7303626 2020-05-14 stsp test_done "$testroot" "$ret"
336 e7303626 2020-05-14 stsp (cd $testroot/wt && got status > $testroot/stdout)
338 e7303626 2020-05-14 stsp echo "A .gitmodules" > $testroot/stdout.expected
339 e7303626 2020-05-14 stsp echo "M repo2" >> $testroot/stdout.expected
340 e7303626 2020-05-14 stsp cmp -s $testroot/stdout.expected $testroot/stdout
342 e7303626 2020-05-14 stsp if [ "$ret" != "0" ]; then
343 e7303626 2020-05-14 stsp diff -u $testroot/stdout.expected $testroot/stdout
345 e7303626 2020-05-14 stsp test_done "$testroot" "$ret"
348 f6cae3ed 2020-09-13 naddy test_cherrypick_modified_symlinks() {
349 af57b12a 2020-07-23 stsp local testroot=`test_init cherrypick_modified_symlinks`
351 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -s alpha alpha.link)
352 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -s epsilon epsilon.link)
353 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -s /etc/passwd passwd.link)
354 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -s ../beta epsilon/beta.link)
355 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -s nonexistent nonexistent.link)
356 af57b12a 2020-07-23 stsp (cd $testroot/repo && git add .)
357 af57b12a 2020-07-23 stsp git_commit $testroot/repo -m "add symlinks"
358 af57b12a 2020-07-23 stsp local commit_id1=`git_show_head $testroot/repo`
360 af57b12a 2020-07-23 stsp got branch -r $testroot/repo foo
362 af57b12a 2020-07-23 stsp got checkout -b foo $testroot/repo $testroot/wt > /dev/null
364 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -sf beta alpha.link)
365 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -sfh gamma epsilon.link)
366 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -sf ../gamma/delta epsilon/beta.link)
367 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -sf .got/bar $testroot/repo/dotgotfoo.link)
368 af57b12a 2020-07-23 stsp (cd $testroot/repo && git rm -q nonexistent.link)
369 af57b12a 2020-07-23 stsp (cd $testroot/repo && ln -sf epsilon/zeta zeta.link)
370 af57b12a 2020-07-23 stsp (cd $testroot/repo && git add .)
371 af57b12a 2020-07-23 stsp git_commit $testroot/repo -m "change symlinks"
372 af57b12a 2020-07-23 stsp local commit_id2=`git_show_head $testroot/repo`
374 af57b12a 2020-07-23 stsp (cd $testroot/wt && got cherrypick $commit_id2 > $testroot/stdout)
376 af57b12a 2020-07-23 stsp echo "G alpha.link" > $testroot/stdout.expected
377 af57b12a 2020-07-23 stsp echo "G epsilon/beta.link" >> $testroot/stdout.expected
378 af57b12a 2020-07-23 stsp echo "A dotgotfoo.link" >> $testroot/stdout.expected
379 af57b12a 2020-07-23 stsp echo "G epsilon.link" >> $testroot/stdout.expected
380 af57b12a 2020-07-23 stsp echo "D nonexistent.link" >> $testroot/stdout.expected
381 af57b12a 2020-07-23 stsp echo "A zeta.link" >> $testroot/stdout.expected
382 af57b12a 2020-07-23 stsp echo "Merged commit $commit_id2" >> $testroot/stdout.expected
383 af57b12a 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
385 af57b12a 2020-07-23 stsp if [ "$ret" != "0" ]; then
386 af57b12a 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
387 af57b12a 2020-07-23 stsp test_done "$testroot" "$ret"
391 af57b12a 2020-07-23 stsp if ! [ -h $testroot/wt/alpha.link ]; then
392 af57b12a 2020-07-23 stsp echo "alpha.link is not a symlink"
393 af57b12a 2020-07-23 stsp test_done "$testroot" "1"
397 af57b12a 2020-07-23 stsp readlink $testroot/wt/alpha.link > $testroot/stdout
398 af57b12a 2020-07-23 stsp echo "beta" > $testroot/stdout.expected
399 af57b12a 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
401 af57b12a 2020-07-23 stsp if [ "$ret" != "0" ]; then
402 af57b12a 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
403 af57b12a 2020-07-23 stsp test_done "$testroot" "$ret"
407 af57b12a 2020-07-23 stsp if ! [ -h $testroot/wt/epsilon.link ]; then
408 af57b12a 2020-07-23 stsp echo "epsilon.link is not a symlink"
409 af57b12a 2020-07-23 stsp test_done "$testroot" "1"
413 af57b12a 2020-07-23 stsp readlink $testroot/wt/epsilon.link > $testroot/stdout
414 af57b12a 2020-07-23 stsp echo "gamma" > $testroot/stdout.expected
415 af57b12a 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
417 af57b12a 2020-07-23 stsp if [ "$ret" != "0" ]; then
418 af57b12a 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
419 af57b12a 2020-07-23 stsp test_done "$testroot" "$ret"
423 af57b12a 2020-07-23 stsp if [ -h $testroot/wt/passwd.link ]; then
424 af57b12a 2020-07-23 stsp echo -n "passwd.link symlink points outside of work tree: " >&2
425 af57b12a 2020-07-23 stsp readlink $testroot/wt/passwd.link >&2
426 af57b12a 2020-07-23 stsp test_done "$testroot" "1"
430 af57b12a 2020-07-23 stsp echo -n "/etc/passwd" > $testroot/content.expected
431 af57b12a 2020-07-23 stsp cp $testroot/wt/passwd.link $testroot/content
433 af57b12a 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
435 af57b12a 2020-07-23 stsp if [ "$ret" != "0" ]; then
436 af57b12a 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
437 af57b12a 2020-07-23 stsp test_done "$testroot" "$ret"
441 af57b12a 2020-07-23 stsp readlink $testroot/wt/epsilon/beta.link > $testroot/stdout
442 af57b12a 2020-07-23 stsp echo "../gamma/delta" > $testroot/stdout.expected
443 e26bafba 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
445 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
446 e26bafba 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
447 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
451 e26bafba 2020-07-23 stsp if [ -h $testroot/wt/nonexistent.link ]; then
452 e26bafba 2020-07-23 stsp echo -n "nonexistent.link still exists on disk: " >&2
453 e26bafba 2020-07-23 stsp readlink $testroot/wt/nonexistent.link >&2
454 e26bafba 2020-07-23 stsp test_done "$testroot" "1"
458 e26bafba 2020-07-23 stsp test_done "$testroot" "0"
461 f6cae3ed 2020-09-13 naddy test_cherrypick_symlink_conflicts() {
462 e26bafba 2020-07-23 stsp local testroot=`test_init cherrypick_symlink_conflicts`
464 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -s alpha alpha.link)
465 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -s epsilon epsilon.link)
466 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -s /etc/passwd passwd.link)
467 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -s ../beta epsilon/beta.link)
468 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -s nonexistent nonexistent.link)
469 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -sf epsilon/zeta zeta.link)
470 e26bafba 2020-07-23 stsp (cd $testroot/repo && git add .)
471 e26bafba 2020-07-23 stsp git_commit $testroot/repo -m "add symlinks"
472 e26bafba 2020-07-23 stsp local commit_id1=`git_show_head $testroot/repo`
474 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -sf beta alpha.link)
475 fba9f79c 2020-07-23 stsp (cd $testroot/repo && ln -sf beta boo.link)
476 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -sfh gamma epsilon.link)
477 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -sf ../gamma/delta epsilon/beta.link)
478 e26bafba 2020-07-23 stsp echo 'this is regular file foo' > $testroot/repo/dotgotfoo.link
479 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -sf .got/bar dotgotbar.link)
480 e26bafba 2020-07-23 stsp (cd $testroot/repo && git rm -q nonexistent.link)
481 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -sf gamma/delta zeta.link)
482 e26bafba 2020-07-23 stsp (cd $testroot/repo && ln -sf alpha new.link)
483 e26bafba 2020-07-23 stsp (cd $testroot/repo && git add .)
484 e26bafba 2020-07-23 stsp git_commit $testroot/repo -m "change symlinks"
485 e26bafba 2020-07-23 stsp local commit_id2=`git_show_head $testroot/repo`
487 e26bafba 2020-07-23 stsp got branch -r $testroot/repo -c $commit_id1 foo
488 e26bafba 2020-07-23 stsp got checkout -b foo $testroot/repo $testroot/wt > /dev/null
490 e26bafba 2020-07-23 stsp # modified symlink to file A vs modified symlink to file B
491 e26bafba 2020-07-23 stsp (cd $testroot/wt && ln -sf gamma/delta alpha.link)
492 e26bafba 2020-07-23 stsp # modified symlink to dir A vs modified symlink to file B
493 e26bafba 2020-07-23 stsp (cd $testroot/wt && ln -sfh beta epsilon.link)
494 e26bafba 2020-07-23 stsp # modeified symlink to file A vs modified symlink to dir B
495 e26bafba 2020-07-23 stsp (cd $testroot/wt && ln -sfh ../gamma epsilon/beta.link)
496 e26bafba 2020-07-23 stsp # added regular file A vs added bad symlink to file A
497 e26bafba 2020-07-23 stsp (cd $testroot/wt && ln -sf .got/bar dotgotfoo.link)
498 3b9f0f87 2020-07-23 stsp (cd $testroot/wt && got add dotgotfoo.link > /dev/null)
499 e26bafba 2020-07-23 stsp # added bad symlink to file A vs added regular file A
500 e26bafba 2020-07-23 stsp echo 'this is regular file bar' > $testroot/wt/dotgotbar.link
501 d219f183 2020-07-23 stsp (cd $testroot/wt && got add dotgotbar.link > /dev/null)
502 fba9f79c 2020-07-23 stsp # added symlink to file A vs unversioned file A
503 fba9f79c 2020-07-23 stsp echo 'this is unversioned file boo' > $testroot/wt/boo.link
504 e26bafba 2020-07-23 stsp # removed symlink to non-existent file A vs modified symlink
505 e26bafba 2020-07-23 stsp # to nonexistent file B
506 e26bafba 2020-07-23 stsp (cd $testroot/wt && ln -sf nonexistent2 nonexistent.link)
507 e26bafba 2020-07-23 stsp # modified symlink to file A vs removed symlink to file A
508 e26bafba 2020-07-23 stsp (cd $testroot/wt && got rm zeta.link > /dev/null)
509 e26bafba 2020-07-23 stsp # added symlink to file A vs added symlink to file B
510 e26bafba 2020-07-23 stsp (cd $testroot/wt && ln -sf beta new.link)
511 e26bafba 2020-07-23 stsp (cd $testroot/wt && got add new.link > /dev/null)
512 35213c7c 2020-07-23 stsp (cd $testroot/wt && got commit -S -m "change symlinks on foo" \
513 e26bafba 2020-07-23 stsp > /dev/null)
515 e26bafba 2020-07-23 stsp (cd $testroot/wt && got update >/dev/null)
516 e26bafba 2020-07-23 stsp (cd $testroot/wt && got cherrypick $commit_id2 > $testroot/stdout)
518 e26bafba 2020-07-23 stsp echo -n > $testroot/stdout.expected
519 11cc08c1 2020-07-23 stsp echo "C alpha.link" >> $testroot/stdout.expected
520 11cc08c1 2020-07-23 stsp echo "C epsilon/beta.link" >> $testroot/stdout.expected
521 c90c8ce3 2020-07-23 stsp echo "? boo.link" >> $testroot/stdout.expected
522 11cc08c1 2020-07-23 stsp echo "C epsilon.link" >> $testroot/stdout.expected
523 fba9f79c 2020-07-23 stsp echo "C dotgotbar.link" >> $testroot/stdout.expected
524 3b9f0f87 2020-07-23 stsp echo "C dotgotfoo.link" >> $testroot/stdout.expected
525 e26bafba 2020-07-23 stsp echo "D nonexistent.link" >> $testroot/stdout.expected
526 e26bafba 2020-07-23 stsp echo "! zeta.link" >> $testroot/stdout.expected
527 11cc08c1 2020-07-23 stsp echo "C new.link" >> $testroot/stdout.expected
528 e26bafba 2020-07-23 stsp echo "Merged commit $commit_id2" >> $testroot/stdout.expected
529 3b9f0f87 2020-07-23 stsp echo "Files with new merge conflicts: 6" >> $testroot/stdout.expected
530 e26bafba 2020-07-23 stsp cmp -s $testroot/stdout.expected $testroot/stdout
532 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
533 e26bafba 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
534 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
538 11cc08c1 2020-07-23 stsp if [ -h $testroot/wt/alpha.link ]; then
539 11cc08c1 2020-07-23 stsp echo "alpha.link is a symlink"
540 e26bafba 2020-07-23 stsp test_done "$testroot" "1"
544 11cc08c1 2020-07-23 stsp echo "<<<<<<< merged change: commit $commit_id2" \
545 283102fc 2020-07-23 stsp > $testroot/content.expected
546 11cc08c1 2020-07-23 stsp echo "beta" >> $testroot/content.expected
547 11cc08c1 2020-07-23 stsp echo "3-way merge base: commit $commit_id1" \
548 11cc08c1 2020-07-23 stsp >> $testroot/content.expected
549 11cc08c1 2020-07-23 stsp echo "alpha" >> $testroot/content.expected
550 11cc08c1 2020-07-23 stsp echo "=======" >> $testroot/content.expected
551 11cc08c1 2020-07-23 stsp echo "gamma/delta" >> $testroot/content.expected
552 11cc08c1 2020-07-23 stsp echo '>>>>>>>' >> $testroot/content.expected
553 11cc08c1 2020-07-23 stsp echo -n "" >> $testroot/content.expected
555 11cc08c1 2020-07-23 stsp cp $testroot/wt/alpha.link $testroot/content
556 fba9f79c 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
558 fba9f79c 2020-07-23 stsp if [ "$ret" != "0" ]; then
559 fba9f79c 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
560 fba9f79c 2020-07-23 stsp test_done "$testroot" "$ret"
564 c90c8ce3 2020-07-23 stsp if [ -h $testroot/wt/boo.link ]; then
565 c90c8ce3 2020-07-23 stsp echo "boo.link is a symlink"
566 fba9f79c 2020-07-23 stsp test_done "$testroot" "1"
570 c90c8ce3 2020-07-23 stsp echo "this is unversioned file boo" > $testroot/content.expected
571 fba9f79c 2020-07-23 stsp cp $testroot/wt/boo.link $testroot/content
572 11cc08c1 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
574 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
575 11cc08c1 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
576 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
580 11cc08c1 2020-07-23 stsp if [ -h $testroot/wt/epsilon.link ]; then
581 11cc08c1 2020-07-23 stsp echo "epsilon.link is a symlink"
582 e26bafba 2020-07-23 stsp test_done "$testroot" "1"
586 11cc08c1 2020-07-23 stsp echo "<<<<<<< merged change: commit $commit_id2" \
587 283102fc 2020-07-23 stsp > $testroot/content.expected
588 11cc08c1 2020-07-23 stsp echo "gamma" >> $testroot/content.expected
589 11cc08c1 2020-07-23 stsp echo "3-way merge base: commit $commit_id1" \
590 11cc08c1 2020-07-23 stsp >> $testroot/content.expected
591 11cc08c1 2020-07-23 stsp echo "epsilon" >> $testroot/content.expected
592 11cc08c1 2020-07-23 stsp echo "=======" >> $testroot/content.expected
593 11cc08c1 2020-07-23 stsp echo "beta" >> $testroot/content.expected
594 11cc08c1 2020-07-23 stsp echo '>>>>>>>' >> $testroot/content.expected
595 11cc08c1 2020-07-23 stsp echo -n "" >> $testroot/content.expected
597 11cc08c1 2020-07-23 stsp cp $testroot/wt/epsilon.link $testroot/content
598 11cc08c1 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
600 af57b12a 2020-07-23 stsp if [ "$ret" != "0" ]; then
601 11cc08c1 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
602 af57b12a 2020-07-23 stsp test_done "$testroot" "$ret"
606 e26bafba 2020-07-23 stsp if [ -h $testroot/wt/passwd.link ]; then
607 e26bafba 2020-07-23 stsp echo -n "passwd.link symlink points outside of work tree: " >&2
608 e26bafba 2020-07-23 stsp readlink $testroot/wt/passwd.link >&2
609 e26bafba 2020-07-23 stsp test_done "$testroot" "1"
613 e26bafba 2020-07-23 stsp echo -n "/etc/passwd" > $testroot/content.expected
614 e26bafba 2020-07-23 stsp cp $testroot/wt/passwd.link $testroot/content
616 e26bafba 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
618 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
619 e26bafba 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
620 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
624 11cc08c1 2020-07-23 stsp if [ -h $testroot/wt/epsilon/beta.link ]; then
625 11cc08c1 2020-07-23 stsp echo "epsilon/beta.link is a symlink"
626 11cc08c1 2020-07-23 stsp test_done "$testroot" "1"
630 11cc08c1 2020-07-23 stsp echo "<<<<<<< merged change: commit $commit_id2" \
631 283102fc 2020-07-23 stsp > $testroot/content.expected
632 11cc08c1 2020-07-23 stsp echo "../gamma/delta" >> $testroot/content.expected
633 11cc08c1 2020-07-23 stsp echo "3-way merge base: commit $commit_id1" \
634 11cc08c1 2020-07-23 stsp >> $testroot/content.expected
635 11cc08c1 2020-07-23 stsp echo "../beta" >> $testroot/content.expected
636 11cc08c1 2020-07-23 stsp echo "=======" >> $testroot/content.expected
637 11cc08c1 2020-07-23 stsp echo "../gamma" >> $testroot/content.expected
638 11cc08c1 2020-07-23 stsp echo '>>>>>>>' >> $testroot/content.expected
639 11cc08c1 2020-07-23 stsp echo -n "" >> $testroot/content.expected
641 11cc08c1 2020-07-23 stsp cp $testroot/wt/epsilon/beta.link $testroot/content
642 11cc08c1 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
644 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
645 11cc08c1 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
646 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
650 af57b12a 2020-07-23 stsp if [ -h $testroot/wt/nonexistent.link ]; then
651 af57b12a 2020-07-23 stsp echo -n "nonexistent.link still exists on disk: " >&2
652 af57b12a 2020-07-23 stsp readlink $testroot/wt/nonexistent.link >&2
653 af57b12a 2020-07-23 stsp test_done "$testroot" "1"
657 e26bafba 2020-07-23 stsp if [ -h $testroot/wt/dotgotfoo.link ]; then
658 e26bafba 2020-07-23 stsp echo "dotgotfoo.link is a symlink"
659 e26bafba 2020-07-23 stsp test_done "$testroot" "1"
663 3b9f0f87 2020-07-23 stsp echo "<<<<<<< merged change: commit $commit_id2" \
664 3b9f0f87 2020-07-23 stsp > $testroot/content.expected
665 3b9f0f87 2020-07-23 stsp echo "this is regular file foo" >> $testroot/content.expected
666 3b9f0f87 2020-07-23 stsp echo "=======" >> $testroot/content.expected
667 3b9f0f87 2020-07-23 stsp echo -n ".got/bar" >> $testroot/content.expected
668 3b9f0f87 2020-07-23 stsp echo '>>>>>>>' >> $testroot/content.expected
669 e26bafba 2020-07-23 stsp cp $testroot/wt/dotgotfoo.link $testroot/content
670 e26bafba 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
672 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
673 e26bafba 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
674 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
678 e26bafba 2020-07-23 stsp if [ -h $testroot/wt/dotgotbar.link ]; then
679 e26bafba 2020-07-23 stsp echo "dotgotbar.link is a symlink"
680 e26bafba 2020-07-23 stsp test_done "$testroot" "1"
683 d219f183 2020-07-23 stsp echo "<<<<<<< merged change: commit $commit_id2" \
684 d219f183 2020-07-23 stsp > $testroot/content.expected
685 d219f183 2020-07-23 stsp echo -n ".got/bar" >> $testroot/content.expected
686 d219f183 2020-07-23 stsp echo "=======" >> $testroot/content.expected
687 d219f183 2020-07-23 stsp echo "this is regular file bar" >> $testroot/content.expected
688 d219f183 2020-07-23 stsp echo '>>>>>>>' >> $testroot/content.expected
689 d219f183 2020-07-23 stsp echo -n "" >> $testroot/content.expected
690 e26bafba 2020-07-23 stsp cp $testroot/wt/dotgotbar.link $testroot/content
691 e26bafba 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
693 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
694 e26bafba 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
695 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
699 11cc08c1 2020-07-23 stsp if [ -h $testroot/wt/new.link ]; then
700 11cc08c1 2020-07-23 stsp echo "new.link is a symlink"
701 e26bafba 2020-07-23 stsp test_done "$testroot" "1"
705 11cc08c1 2020-07-23 stsp echo "<<<<<<< merged change: commit $commit_id2" \
706 283102fc 2020-07-23 stsp > $testroot/content.expected
707 11cc08c1 2020-07-23 stsp echo "alpha" >> $testroot/content.expected
708 11cc08c1 2020-07-23 stsp echo "=======" >> $testroot/content.expected
709 11cc08c1 2020-07-23 stsp echo "beta" >> $testroot/content.expected
710 11cc08c1 2020-07-23 stsp echo '>>>>>>>' >> $testroot/content.expected
711 11cc08c1 2020-07-23 stsp echo -n "" >> $testroot/content.expected
713 11cc08c1 2020-07-23 stsp cp $testroot/wt/new.link $testroot/content
714 11cc08c1 2020-07-23 stsp cmp -s $testroot/content.expected $testroot/content
716 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
717 11cc08c1 2020-07-23 stsp diff -u $testroot/content.expected $testroot/content
718 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
722 e26bafba 2020-07-23 stsp echo "A dotgotfoo.link" > $testroot/stdout.expected
723 e26bafba 2020-07-23 stsp echo "M new.link" >> $testroot/stdout.expected
724 e26bafba 2020-07-23 stsp echo "D nonexistent.link" >> $testroot/stdout.expected
725 e26bafba 2020-07-23 stsp (cd $testroot/wt && got status > $testroot/stdout)
726 e26bafba 2020-07-23 stsp if [ "$ret" != "0" ]; then
727 e26bafba 2020-07-23 stsp diff -u $testroot/stdout.expected $testroot/stdout
728 e26bafba 2020-07-23 stsp test_done "$testroot" "$ret"
732 af57b12a 2020-07-23 stsp test_done "$testroot" "0"
735 f6cae3ed 2020-09-13 naddy test_cherrypick_with_path_prefix_and_empty_tree() {
736 69d57f3d 2020-07-31 stsp local testroot=`test_init cherrypick_with_path_prefix_and_empty_tree 1`
738 69d57f3d 2020-07-31 stsp (cd $testroot/repo && git commit --allow-empty \
739 69d57f3d 2020-07-31 stsp -m "initial empty commit" >/dev/null)
741 69d57f3d 2020-07-31 stsp (cd $testroot/repo && got br bar >/dev/null)
743 69d57f3d 2020-07-31 stsp mkdir -p $testroot/repo/epsilon
744 69d57f3d 2020-07-31 stsp echo "file foo" > $testroot/repo/epsilon/foo
745 69d57f3d 2020-07-31 stsp (cd $testroot/repo && git add .)
746 69d57f3d 2020-07-31 stsp git_commit $testroot/repo -m "add file foo"
747 69d57f3d 2020-07-31 stsp local commit_id=`git_show_head $testroot/repo`
749 69d57f3d 2020-07-31 stsp got checkout -b bar $testroot/repo $testroot/wt > /dev/null
751 69d57f3d 2020-07-31 stsp if [ "$ret" != "0" ]; then
752 69d57f3d 2020-07-31 stsp echo "got checkout failed unexpectedly" >&2
753 69d57f3d 2020-07-31 stsp test_done "$testroot" "$ret"
757 69d57f3d 2020-07-31 stsp mkdir -p $testroot/wt/epsilon
758 69d57f3d 2020-07-31 stsp echo "new file" > $testroot/wt/epsilon/new
759 69d57f3d 2020-07-31 stsp (cd $testroot/wt && got add epsilon/new >/dev/null)
760 69d57f3d 2020-07-31 stsp (cd $testroot/wt && got commit -m "add file on branch bar" > /dev/null)
762 69d57f3d 2020-07-31 stsp got checkout -b bar -p epsilon $testroot/repo $testroot/wt2 > /dev/null
764 69d57f3d 2020-07-31 stsp if [ "$ret" != "0" ]; then
765 69d57f3d 2020-07-31 stsp echo "got checkout failed unexpectedly" >&2
766 69d57f3d 2020-07-31 stsp test_done "$testroot" "$ret"
769 69d57f3d 2020-07-31 stsp (cd $testroot/wt2 && got cherrypick $commit_id > $testroot/stdout)
771 69d57f3d 2020-07-31 stsp echo "A foo" > $testroot/stdout.expected
772 69d57f3d 2020-07-31 stsp echo "Merged commit $commit_id" >> $testroot/stdout.expected
774 69d57f3d 2020-07-31 stsp cmp -s $testroot/stdout.expected $testroot/stdout
776 69d57f3d 2020-07-31 stsp if [ "$ret" != "0" ]; then
777 69d57f3d 2020-07-31 stsp diff -u $testroot/stdout.expected $testroot/stdout
779 69d57f3d 2020-07-31 stsp test_done "$testroot" "$ret"
782 7fb414ae 2020-08-08 stsp test_parseargs "$@"
783 234035bc 2019-06-01 stsp run_test test_cherrypick_basic
784 03415a1a 2019-06-02 stsp run_test test_cherrypick_root_commit
785 ceb466a7 2020-04-18 stsp run_test test_cherrypick_into_work_tree_with_conflicts
786 e7303626 2020-05-14 stsp run_test test_cherrypick_modified_submodule
787 e7303626 2020-05-14 stsp run_test test_cherrypick_added_submodule
788 e7303626 2020-05-14 stsp run_test test_cherrypick_conflict_wt_file_vs_repo_submodule
789 af57b12a 2020-07-23 stsp run_test test_cherrypick_modified_symlinks
790 e26bafba 2020-07-23 stsp run_test test_cherrypick_symlink_conflicts
791 69d57f3d 2020-07-31 stsp run_test test_cherrypick_with_path_prefix_and_empty_tree