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.
This commit is contained in:
parent
9a69a2bf2a
commit
fb2e0a1987
1 changed files with 10 additions and 4 deletions
|
@ -26,16 +26,22 @@ fn lsdirty {
|
|||
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 ''
|
||||
|
|
Loading…
Reference in a new issue