ref: a664cf0bb19c82286560bb5114192d524b63d9f4
dir: /sys/src/cmd/git/test/diff.rc/
#!/bin/rc . ./util.rc nl=' ' rm -fr scratch mkdir -p scratch/subdir/subdir2 mkdir -p scratch/subdir3 echo @@git diff -s relative@@ @{ cd scratch q git/init echo hello > file.txt echo hello1 > subdir/file1.txt echo hello2 > subdir/subdir2/file2.txt echo hello3 > subdir3/file3.txt q git/add file.txt subdir/file1.txt subdir/subdir2/file2.txt subdir3/file3.txt q git/commit -m initial . echo >file.txt echo >subdir/file1.txt echo >subdir/subdir2/file2.txt echo >subdir3/file3.txt out=`$nl{git/diff -s . | awk '{ print $2 }'} ~ $out(1) file.txt && ~ $out(2) subdir/file1.txt && ~ $out(3) subdir/subdir2/file2.txt \ ~ $out(4) subdir3/file3.txt || die 'base level fail' cd subdir out=`$nl{git/diff -s .. | awk '{ print $2 }'} ~ $out(1) ../file.txt && ~ $out(2) file1.txt && ~ $out(3) subdir2/file2.txt \ ~ $out(4) ../subdir3/file3.txt || die 'subdir1 level fail' cd subdir2 out=`$nl{git/diff -s ../.. | awk '{ print $2 }'} ~ $out(1) ../../file.txt && ~ $out(2) ../file1.txt && ~ $out(3) file2.txt \ ~ $out(4) ../../subdir3/file3.txt || die 'subdir2 level fail' cd ../../subdir3 out=`$nl{git/diff -s .. | awk '{ print $2 }'} ~ $out(1) ../file.txt && ~ $out(2) ../subdir/file1.txt && ~ $out(3) ../subdir/subdir2/file2.txt \ ~ $out(4) file3.txt || die 'subdir3 level fail' ! git/diff -s ../.. >[2]/dev/null }