code: plan9front

Download patch

ref: fb2e0a1987b33083e3e08fa0659f99534c56d6aa
parent: 9a69a2bf2a13d89a30d863dcb19198eef2f564a3
author: Ori Bernstein <ori@eigenstate.org>
date: Sun Aug 22 21:22:04 EDT 2021

git/diff: clean up diffs

We were overzealous about showing the changed
header, as well as setting a junk variable for
files that didn't exist; fix both.

--- a/sys/src/cmd/git/diff
+++ b/sys/src/cmd/git/diff
@@ -26,16 +26,22 @@
 		git/query -c $commit HEAD | subst '^..'
 }
 
+showed=()
 mntgen /mnt/scratch
 bind $branch/tree/ /mnt/scratch/a
 bind . /mnt/scratch/b
-echo diff `{git/query $commit} uncommitted
 for(f in `$nl{lsdirty | sort | uniq}){
+	if(~ $#showed 0){
+		echo diff `{git/query $commit} uncommitted
+		showed=1
+	}
 	cd /mnt/scratch
+	a=a/$f
+	b=b/$f
 	if(! test -f a/$f)
-		orig=/dev/null
+		a=/dev/null
 	if(! test -f b/$f)
-		f=/dev/null
-	diff -u a/$f b/$f
+		b=/dev/null
+	diff -u $a $b
 }
 exit ''