tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)

There are many instances where the treatment of symbolic links in the object model and the algorithms are tested, but where it is not necessary to actually have a symbolic link in the worktree. Make adjustments to the tests and remove the SYMLINKS prerequisite when appropriate in trivial cases, where "trivial" means: - merely a replacement of 'ln -s a b && git add b' by test_ln_s_add is needed; - a test for symbolic link on the file system can be split off (and remains protected by SYMLINKS); - existing code is equivalent to test_ln_s_add. Signed-off-by: Johannes Sixt <j6t@kdbg.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Sixt committed Jun 7, 2013 at 22:53 UTC 889c6f0e4d637223e0517d000eedad39b173d8a2
19 files changed +106 -110
t/t1004-read-tree-m-u-wf.sh
+3 -4
@@ -158,7 +158,7 @@ test_expect_success '3-way not overwriting local changes (their side)' '
158
159 '
160
161 -test_expect_success SYMLINKS 'funny symlink in work tree' '
161 +test_expect_success 'funny symlink in work tree' '
162
163 git reset --hard &&
164 git checkout -b sym-b side-b &&
@@ -170,15 +170,14 @@ test_expect_success SYMLINKS 'funny symlink in work tree' '
170 rm -fr a &&
171 git checkout -b sym-a side-a &&
172 mkdir -p a &&
173 - ln -s ../b a/b &&
174 - git add a/b &&
173 + test_ln_s_add ../b a/b &&
174 git commit -m "we add a/b" &&
175
176 read_tree_u_must_succeed -m -u sym-a sym-a sym-b
177
178 '
179
181 -test_expect_success SYMLINKS,SANITY 'funny symlink in work tree, un-unlink-able' '
180 +test_expect_success SANITY 'funny symlink in work tree, un-unlink-able' '
181
182 rm -fr a b &&
183 git reset --hard &&
t/t2001-checkout-cache-clash.sh
+3 -4
@@ -59,10 +59,9 @@ test_expect_success \
59 'git read-tree -m $tree1 && git checkout-index -f -a'
60 test_debug 'show_files $tree1'
61
62 -test_expect_success SYMLINKS \
63 - 'git update-index --add a symlink.' \
64 - 'ln -s path0 path1 &&
65 - git update-index --add path1'
62 +test_expect_success \
63 + 'add a symlink' \
64 + 'test_ln_s_add path0 path1'
65 test_expect_success \
66 'writing tree out with git write-tree' \
67 'tree3=$(git write-tree)'
t/t2004-checkout-cache-temp.sh
+2 -3
@@ -194,11 +194,10 @@ test_expect_success \
194 test $(cat ../$s1) = tree1asubdir/path5)
195 )'
196
197 -test_expect_success SYMLINKS \
197 +test_expect_success \
198 'checkout --temp symlink' '
199 rm -f path* .merge_* out .git/index &&
200 -ln -s b a &&
201 -git update-index --add a &&
200 +test_ln_s_add b a &&
201 t4=$(git write-tree) &&
202 rm -f .git/index &&
203 git read-tree $t4 &&
t/t2007-checkout-symlink.sh
+6 -6
@@ -6,7 +6,7 @@ test_description='git checkout to switch between branches with symlink<->dir'
6
7 . ./test-lib.sh
8
9 -test_expect_success SYMLINKS setup '
9 +test_expect_success setup '
10
11 mkdir frotz &&
12 echo hello >frotz/filfre &&
@@ -25,25 +25,25 @@ test_expect_success SYMLINKS setup '
25
26 git rm --cached frotz/filfre &&
27 mv frotz xyzzy &&
28 - ln -s xyzzy frotz &&
29 - git add xyzzy/filfre frotz &&
28 + test_ln_s_add xyzzy frotz &&
29 + git add xyzzy/filfre &&
30 test_tick &&
31 git commit -m "side moves frotz/ to xyzzy/ and adds frotz->xyzzy/"
32
33 '
34
35 -test_expect_success SYMLINKS 'switch from symlink to dir' '
35 +test_expect_success 'switch from symlink to dir' '
36
37 git checkout master
38
39 '
40
41 -test_expect_success SYMLINKS 'Remove temporary directories & switch to master' '
41 +test_expect_success 'Remove temporary directories & switch to master' '
42 rm -fr frotz xyzzy nitfol &&
43 git checkout -f master
44 '
45
46 -test_expect_success SYMLINKS 'switch from dir to symlink' '
46 +test_expect_success 'switch from dir to symlink' '
47
48 git checkout side
49
t/t2021-checkout-overwrite.sh
+8 -4
@@ -29,21 +29,25 @@ test_expect_success 'checkout commit with dir must not remove untracked a/b' '
29 test -f a/b
30 '
31
32 -test_expect_success SYMLINKS 'create a commit where dir a/b changed to symlink' '
32 +test_expect_success 'create a commit where dir a/b changed to symlink' '
33
34 rm -rf a/b && # cleanup if previous test failed
35 git checkout -f -b symlink start &&
36 rm -rf a/b &&
37 - ln -s foo a/b &&
37 git add -A &&
38 + test_ln_s_add foo a/b &&
39 git commit -m "dir to symlink"
40 '
41
42 -test_expect_success SYMLINKS 'checkout commit with dir must not remove untracked a/b' '
42 +test_expect_success 'checkout commit with dir must not remove untracked a/b' '
43
44 git rm --cached a/b &&
45 git commit -m "un-track the symlink" &&
46 - test_must_fail git checkout start &&
46 + test_must_fail git checkout start
47 +'
48 +
49 +test_expect_success SYMLINKS 'the symlink remained' '
50 +
51 test -h a/b
52 '
53
t/t2200-add-update.sh
+2 -3
@@ -96,11 +96,10 @@ test_expect_success 'non-limited update in subdir leaves root alone' '
96 test_cmp expect actual
97 '
98
99 -test_expect_success SYMLINKS 'replace a file with a symlink' '
99 +test_expect_success 'replace a file with a symlink' '
100
101 rm foo &&
102 - ln -s top foo &&
103 - git add -u -- foo
102 + test_ln_s_add top foo
103
104 '
105
t/t3010-ls-files-killed-modified.sh
+2 -7
@@ -39,12 +39,7 @@ modified without reporting path9 and path10.
39
40 test_expect_success 'git update-index --add to add various paths.' '
41 date >path0 &&
42 - if test_have_prereq SYMLINKS
43 - then
44 - ln -s xyzzy path1
45 - else
46 - date > path1
47 - fi &&
42 + test_ln_s_add xyzzy path1 &&
43 mkdir path2 path3 &&
44 date >path2/file2 &&
45 date >path3/file3 &&
@@ -52,7 +47,7 @@ test_expect_success 'git update-index --add to add various paths.' '
47 date >path8 &&
48 : >path9 &&
49 date >path10 &&
55 - git update-index --add -- path0 path1 path?/file? path7 path8 path9 path10 &&
50 + git update-index --add -- path0 path?/file? path7 path8 path9 path10 &&
51 rm -fr path? # leave path10 alone
52 '
53
t/t3700-add.sh
+6 -9
@@ -30,10 +30,9 @@ test_expect_success \
30 *) echo fail; git ls-files --stage xfoo1; (exit 1);;
31 esac'
32
33 -test_expect_success SYMLINKS 'git add: filemode=0 should not get confused by symlink' '
33 +test_expect_success 'git add: filemode=0 should not get confused by symlink' '
34 rm -f xfoo1 &&
35 - ln -s foo xfoo1 &&
36 - git add xfoo1 &&
35 + test_ln_s_add foo xfoo1 &&
36 case "`git ls-files --stage xfoo1`" in
37 120000" "*xfoo1) echo pass;;
38 *) echo fail; git ls-files --stage xfoo1; (exit 1);;
@@ -51,21 +50,19 @@ test_expect_success \
50 *) echo fail; git ls-files --stage xfoo2; (exit 1);;
51 esac'
52
54 -test_expect_success SYMLINKS 'git add: filemode=0 should not get confused by symlink' '
53 +test_expect_success 'git add: filemode=0 should not get confused by symlink' '
54 rm -f xfoo2 &&
56 - ln -s foo xfoo2 &&
57 - git update-index --add xfoo2 &&
55 + test_ln_s_add foo xfoo2 &&
56 case "`git ls-files --stage xfoo2`" in
57 120000" "*xfoo2) echo pass;;
58 *) echo fail; git ls-files --stage xfoo2; (exit 1);;
59 esac
60 '
61
64 -test_expect_success SYMLINKS \
62 +test_expect_success \
63 'git update-index --add: Test that executable bit is not used...' \
64 'git config core.filemode 0 &&
67 - ln -s xfoo2 xfoo3 &&
68 - git update-index --add xfoo3 &&
65 + test_ln_s_add xfoo2 xfoo3 && # runs git update-index --add
66 case "`git ls-files --stage xfoo3`" in
67 120000" "*xfoo3) echo pass;;
68 *) echo fail; git ls-files --stage xfoo3; (exit 1);;
t/t3903-stash.sh
+28 -11
@@ -336,41 +336,58 @@ test_expect_success SYMLINKS 'stash file to symlink (full stage)' '
336
337 # This test creates a commit with a symlink used for the following tests
338
339 -test_expect_success SYMLINKS 'stash symlink to file' '
339 +test_expect_success 'stash symlink to file' '
340 git reset --hard &&
341 - ln -s file filelink &&
342 - git add filelink &&
341 + test_ln_s_add file filelink &&
342 git commit -m "Add symlink" &&
343 rm filelink &&
344 cp file filelink &&
346 - git stash save "symlink to file" &&
345 + git stash save "symlink to file"
346 +'
347 +
348 +test_expect_success SYMLINKS 'this must have re-created the symlink' '
349 test -h filelink &&
348 - case "$(ls -l filelink)" in *" filelink -> file") :;; *) false;; esac &&
350 + case "$(ls -l filelink)" in *" filelink -> file") :;; *) false;; esac
351 +'
352 +
353 +test_expect_success 'unstash must re-create the file' '
354 git stash apply &&
355 ! test -h filelink &&
356 test bar = "$(cat file)"
357 '
358
354 -test_expect_success SYMLINKS 'stash symlink to file (stage rm)' '
359 +test_expect_success 'stash symlink to file (stage rm)' '
360 git reset --hard &&
361 git rm filelink &&
362 cp file filelink &&
358 - git stash save "symlink to file (stage rm)" &&
363 + git stash save "symlink to file (stage rm)"
364 +'
365 +
366 +test_expect_success SYMLINKS 'this must have re-created the symlink' '
367 test -h filelink &&
360 - case "$(ls -l filelink)" in *" filelink -> file") :;; *) false;; esac &&
368 + case "$(ls -l filelink)" in *" filelink -> file") :;; *) false;; esac
369 +'
370 +
371 +test_expect_success 'unstash must re-create the file' '
372 git stash apply &&
373 ! test -h filelink &&
374 test bar = "$(cat file)"
375 '
376
366 -test_expect_success SYMLINKS 'stash symlink to file (full stage)' '
377 +test_expect_success 'stash symlink to file (full stage)' '
378 git reset --hard &&
379 rm filelink &&
380 cp file filelink &&
381 git add filelink &&
371 - git stash save "symlink to file (full stage)" &&
382 + git stash save "symlink to file (full stage)"
383 +'
384 +
385 +test_expect_success SYMLINKS 'this must have re-created the symlink' '
386 test -h filelink &&
373 - case "$(ls -l filelink)" in *" filelink -> file") :;; *) false;; esac &&
387 + case "$(ls -l filelink)" in *" filelink -> file") :;; *) false;; esac
388 +'
389 +
390 +test_expect_success 'unstash must re-create the file' '
391 git stash apply &&
392 ! test -h filelink &&
393 test bar = "$(cat file)"
t/t4008-diff-break-rewrite.sh
+6 -6
@@ -99,11 +99,11 @@ test_expect_success \
99 'validate result of -B -M (#4)' \
100 'compare_diff_raw expected current'
101
102 -test_expect_success SYMLINKS \
102 +test_expect_success \
103 'make file0 into something completely different' \
104 'rm -f file0 &&
105 - ln -s frotz file0 &&
106 - git update-index file0 file1'
105 + test_ln_s_add frotz file0 &&
106 + git update-index file1'
107
108 test_expect_success \
109 'run diff with -B' \
@@ -114,7 +114,7 @@ cat >expected <<\EOF
114 :100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 f5deac7be59e7eeab8657fd9ae706fd6a57daed2 M100 file1
115 EOF
116
117 -test_expect_success SYMLINKS \
117 +test_expect_success \
118 'validate result of -B (#5)' \
119 'compare_diff_raw expected current'
120
@@ -129,7 +129,7 @@ cat >expected <<\EOF
129 :100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 f5deac7be59e7eeab8657fd9ae706fd6a57daed2 R file0 file1
130 EOF
131
132 -test_expect_success SYMLINKS \
132 +test_expect_success \
133 'validate result of -B -M (#6)' \
134 'compare_diff_raw expected current'
135
@@ -144,7 +144,7 @@ cat >expected <<\EOF
144 :100644 100644 6ff87c4664981e4397625791c8ea3bbb5f2279a3 f5deac7be59e7eeab8657fd9ae706fd6a57daed2 M file1
145 EOF
146
147 -test_expect_success SYMLINKS \
147 +test_expect_success \
148 'validate result of -M (#7)' \
149 'compare_diff_raw expected current'
150
t/t4030-diff-textconv.sh
+3 -5
@@ -139,12 +139,10 @@ index 0000000..67be421
139 +frotz
140 \ No newline at end of file
141 EOF
142 -# make a symlink the hard way that works on symlink-challenged file systems
142 +
143 test_expect_success 'textconv does not act on symlinks' '
144 - printf frotz > file &&
145 - git add file &&
146 - git ls-files -s | sed -e s/100644/120000/ |
147 - git update-index --index-info &&
144 + rm -f file &&
145 + test_ln_s_add frotz file &&
146 git commit -m typechange &&
147 git show >diff &&
148 find_diff <diff >actual &&
t/t4115-apply-symlink.sh
+4 -6
@@ -9,18 +9,16 @@ test_description='git apply symlinks and partial files
9
10 . ./test-lib.sh
11
12 -test_expect_success SYMLINKS setup '
12 +test_expect_success setup '
13
14 - ln -s path1/path2/path3/path4/path5 link1 &&
15 - git add link? &&
14 + test_ln_s_add path1/path2/path3/path4/path5 link1 &&
15 git commit -m initial &&
16
17 git branch side &&
18
19 rm -f link? &&
20
22 - ln -s htap6 link1 &&
23 - git update-index link? &&
21 + test_ln_s_add htap6 link1 &&
22 git commit -m second &&
23
24 git diff-tree -p HEAD^ HEAD >patch &&
@@ -37,7 +35,7 @@ test_expect_success SYMLINKS 'apply symlink patch' '
35
36 '
37
40 -test_expect_success SYMLINKS 'apply --index symlink patch' '
38 +test_expect_success 'apply --index symlink patch' '
39
40 git checkout -f side &&
41 git apply --index patch &&
t/t4122-apply-symlink-inside.sh
+4 -4
@@ -10,11 +10,11 @@ lecho () {
10 done
11 }
12
13 -test_expect_success SYMLINKS setup '
13 +test_expect_success setup '
14
15 mkdir -p arch/i386/boot arch/x86_64 &&
16 lecho 1 2 3 4 5 >arch/i386/boot/Makefile &&
17 - ln -s ../i386/boot arch/x86_64/boot &&
17 + test_ln_s_add ../i386/boot arch/x86_64/boot &&
18 git add . &&
19 test_tick &&
20 git commit -m initial &&
@@ -31,7 +31,7 @@ test_expect_success SYMLINKS setup '
31
32 '
33
34 -test_expect_success SYMLINKS apply '
34 +test_expect_success apply '
35
36 git checkout test &&
37 git diff --exit-code test &&
@@ -40,7 +40,7 @@ test_expect_success SYMLINKS apply '
40
41 '
42
43 -test_expect_success SYMLINKS 'check result' '
43 +test_expect_success 'check result' '
44
45 git diff --exit-code master &&
46 git diff --exit-code --cached master &&
t/t7001-mv.sh
+11 -7
@@ -218,13 +218,13 @@ test_expect_success 'git mv should not change sha1 of moved cache entry' '
218
219 rm -f dirty dirty2
220
221 -test_expect_success SYMLINKS 'git mv should overwrite symlink to a file' '
221 +test_expect_success 'git mv should overwrite symlink to a file' '
222
223 rm -fr .git &&
224 git init &&
225 echo 1 >moved &&
226 - ln -s moved symlink &&
227 - git add moved symlink &&
226 + test_ln_s_add moved symlink &&
227 + git add moved &&
228 test_must_fail git mv moved symlink &&
229 git mv -f moved symlink &&
230 ! test -e moved &&
@@ -237,22 +237,26 @@ test_expect_success SYMLINKS 'git mv should overwrite symlink to a file' '
237
238 rm -f moved symlink
239
240 -test_expect_success SYMLINKS 'git mv should overwrite file with a symlink' '
240 +test_expect_success 'git mv should overwrite file with a symlink' '
241
242 rm -fr .git &&
243 git init &&
244 echo 1 >moved &&
245 - ln -s moved symlink &&
246 - git add moved symlink &&
245 + test_ln_s_add moved symlink &&
246 + git add moved &&
247 test_must_fail git mv symlink moved &&
248 git mv -f symlink moved &&
249 ! test -e symlink &&
250 - test -h moved &&
250 git update-index --refresh &&
251 git diff-files --quiet
252
253 '
254
255 +test_expect_success SYMLINKS 'check moved symlink' '
256 +
257 + test -h moved
258 +'
259 +
260 rm -f moved symlink
261
262 test_done
t/t7607-merge-overwrite.sh
+2 -3
@@ -141,11 +141,10 @@ test_expect_success SYMLINKS 'will not overwrite untracked symlink in leading pa
141 test_path_is_missing .git/MERGE_HEAD
142 '
143
144 -test_expect_success SYMLINKS 'will not be confused by symlink in leading path' '
144 +test_expect_success 'will not be confused by symlink in leading path' '
145 git reset --hard c0 &&
146 rm -rf sub &&
147 - ln -s sub2 sub &&
148 - git add sub &&
147 + test_ln_s_add sub2 sub &&
148 git commit -m ln &&
149 git checkout sub
150 '
t/t8006-blame-textconv.sh
+5 -9
@@ -18,17 +18,13 @@ test_expect_success 'setup ' '
18 echo "bin: test number 0" >zero.bin &&
19 echo "bin: test 1" >one.bin &&
20 echo "bin: test number 2" >two.bin &&
21 - if test_have_prereq SYMLINKS; then
22 - ln -s one.bin symlink.bin
23 - fi &&
21 + test_ln_s_add one.bin symlink.bin &&
22 git add . &&
23 GIT_AUTHOR_NAME=Number1 git commit -a -m First --date="2010-01-01 18:00:00" &&
24 echo "bin: test 1 version 2" >one.bin &&
25 echo "bin: test number 2 version 2" >>two.bin &&
28 - if test_have_prereq SYMLINKS; then
29 - rm symlink.bin &&
30 - ln -s two.bin symlink.bin
31 - fi &&
26 + rm -f symlink.bin &&
27 + test_ln_s_add two.bin symlink.bin &&
28 GIT_AUTHOR_NAME=Number2 git commit -a -m Second --date="2010-01-01 20:00:00"
29 '
30
@@ -135,7 +131,7 @@ test_expect_success SYMLINKS 'blame --textconv (on symlink)' '
131
132 # cp two.bin three.bin and make small tweak
133 # (this will direct blame -C -C three.bin to consider two.bin and symlink.bin)
138 -test_expect_success SYMLINKS 'make another new commit' '
134 +test_expect_success 'make another new commit' '
135 cat >three.bin <<\EOF &&
136 bin: test number 2
137 bin: test number 2 version 2
@@ -146,7 +142,7 @@ EOF
142 GIT_AUTHOR_NAME=Number4 git commit -a -m Fourth --date="2010-01-01 23:00:00"
143 '
144
149 -test_expect_success SYMLINKS 'blame on last commit (-C -C, symlink)' '
145 +test_expect_success 'blame on last commit (-C -C, symlink)' '
146 git blame -C -C three.bin >blame &&
147 find_blame <blame >result &&
148 cat >expected <<\EOF &&
t/t8007-cat-file-textconv.sh
+4 -6
@@ -12,9 +12,7 @@ chmod +x helper
12
13 test_expect_success 'setup ' '
14 echo "bin: test" >one.bin &&
15 - if test_have_prereq SYMLINKS; then
16 - ln -s one.bin symlink.bin
17 - fi &&
15 + test_ln_s_add one.bin symlink.bin &&
16 git add . &&
17 GIT_AUTHOR_NAME=Number1 git commit -a -m First --date="2010-01-01 18:00:00" &&
18 echo "bin: test version 2" >one.bin &&
@@ -72,14 +70,14 @@ test_expect_success 'cat-file --textconv on previous commit' '
70 test_cmp expected result
71 '
72
75 -test_expect_success SYMLINKS 'cat-file without --textconv (symlink)' '
73 +test_expect_success 'cat-file without --textconv (symlink)' '
74 git cat-file blob :symlink.bin >result &&
75 printf "%s" "one.bin" >expected
76 test_cmp expected result
77 '
78
79
82 -test_expect_success SYMLINKS 'cat-file --textconv on index (symlink)' '
80 +test_expect_success 'cat-file --textconv on index (symlink)' '
81 ! git cat-file --textconv :symlink.bin 2>result &&
82 cat >expected <<\EOF &&
83 fatal: git cat-file --textconv: unable to run textconv on :symlink.bin
@@ -87,7 +85,7 @@ EOF
85 test_cmp expected result
86 '
87
90 -test_expect_success SYMLINKS 'cat-file --textconv on HEAD (symlink)' '
88 +test_expect_success 'cat-file --textconv on HEAD (symlink)' '
89 ! git cat-file --textconv HEAD:symlink.bin 2>result &&
90 cat >expected <<EOF &&
91 fatal: git cat-file --textconv: unable to run textconv on HEAD:symlink.bin
t/t9350-fast-export.sh
+2 -3
@@ -396,7 +396,7 @@ test_expect_success 'tree_tag-obj' 'git fast-export tree_tag-obj'
396 test_expect_success 'tag-obj_tag' 'git fast-export tag-obj_tag'
397 test_expect_success 'tag-obj_tag-obj' 'git fast-export tag-obj_tag-obj'
398
399 -test_expect_success SYMLINKS 'directory becomes symlink' '
399 +test_expect_success 'directory becomes symlink' '
400 git init dirtosymlink &&
401 git init result &&
402 (
@@ -408,8 +408,7 @@ test_expect_success SYMLINKS 'directory becomes symlink' '
408 git add foo/world bar/world &&
409 git commit -q -mone &&
410 git rm -r foo &&
411 - ln -s bar foo &&
412 - git add foo &&
411 + test_ln_s_add bar foo &&
412 git commit -q -mtwo
413 ) &&
414 (
t/t9500-gitweb-standalone-no-errors.sh
+5 -10
@@ -156,10 +156,10 @@ test_expect_success \
156 git commit -a -m "File renamed." &&
157 gitweb_run "p=.git;a=commitdiff"'
158
159 -test_expect_success SYMLINKS \
159 +test_expect_success \
160 'commitdiff(0): file to symlink' \
161 'rm renamed_file &&
162 - ln -s file renamed_file &&
162 + test_ln_s_add file renamed_file &&
163 git commit -a -m "File to symlink." &&
164 gitweb_run "p=.git;a=commitdiff"'
165
@@ -212,15 +212,14 @@ test_expect_success \
212 # ----------------------------------------------------------------------
213 # commitdiff testing (taken from t4114-apply-typechange.sh)
214
215 -test_expect_success SYMLINKS 'setup typechange commits' '
215 +test_expect_success 'setup typechange commits' '
216 echo "hello world" > foo &&
217 echo "hi planet" > bar &&
218 git update-index --add foo bar &&
219 git commit -m initial &&
220 git branch initial &&
221 rm -f foo &&
222 - ln -s bar foo &&
223 - git update-index foo &&
222 + test_ln_s_add bar foo &&
223 git commit -m "foo symlinked to bar" &&
224 git branch foo-symlinked-to-bar &&
225 rm -f foo &&
@@ -361,11 +360,7 @@ test_expect_success \
360 echo "Changed" >> 04-rename-to &&
361 test_chmod +x 05-mode-change &&
362 rm -f 06-file-or-symlink &&
364 - if test_have_prereq SYMLINKS; then
365 - ln -s 01-change 06-file-or-symlink
366 - else
367 - printf %s 01-change > 06-file-or-symlink
368 - fi &&
363 + test_ln_s_add 01-change 06-file-or-symlink &&
364 echo "Changed and have mode changed" > 07-change-mode-change &&
365 test_chmod +x 07-change-mode-change &&
366 git commit -a -m "Large commit" &&