46 lines · 1.3 KB · rc
RawDownload
#!/bin/rc . ./util.rc nl=''rm -fr scratchmkdir -p scratch/subdir/subdir2mkdir -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}