]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/git/branch
git/branch: diff clean and dirty lists correctly
[plan9front.git] / sys / src / cmd / git / branch
index d132eb1e1dba57a3689ed2d1e4f7985cd563db90..addfec4b6109a3533d383ee4edeb47f66b1dbd12 100755 (executable)
@@ -66,13 +66,17 @@ if(! ~ $#stay 0){
 }
 basedir=`{git/query -p $base}
 dirtypaths=()
-cleanpaths=($modified $deleted)
 if(! ~ $#modified 0 || ! ~ $#deleted 0)
        dirtypaths=`$nl{git/walk -cfRMA $modified $deleted}
-if(! ~ $#dirtypaths 0){
-       x=$nl^$cleanpaths
-       y=$nl^$dirtypaths
-       cleanpaths=`$nl{echo $"x$nl$"y | sort | uniq -u}
+if(! ~ $#modified 0 || ! ~ $#deleted 0)
+       dirtypaths=`$nl{git/walk -cfRMA $modified $deleted}
+if(~ $#dirtypaths 0)
+       cleanpaths=($modified $deleted)
+if not {
+       cleanpaths=()
+       for(p in $modified $deleted)
+               if(! ~ $p $dirtypaths)
+                       cleanpaths=($cleanpaths $p)
 }
 
 echo $commit > .git/$new