shithub: git9

Download patch

ref: 227c880ac570682905b72025a01e652f4b8da717
parent: 76566d81a8e51d8d8255c9d6a8e7cd107fc6de01
author: Ori Bernstein <[email protected]>
date: Mon Mar 9 00:53:06 EDT 2020

only diff files that changed

git/diff was excruciatingly slow on large repositories,
because it didn't filter for only files that changed
when doing a git/walk. Now it does.

~50s to ~1s on the perl5 repository, when only a few
things were changed.

--- a/diff
+++ b/diff
@@ -29,7 +29,7 @@
 	git/walk -fMAR $files
 	exit
 }
-for(f in `{git/walk -c $files}){
+for(f in `{git/walk -c -fRMA $files}){
 	orig=$branch/tree/$f
 	if(! test -f $orig)
 		orig=/dev/null