summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsys/src/cmd/git/branch5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/cmd/git/branch b/sys/src/cmd/git/branch
index f1b46717f..ce7a3e59f 100755
--- a/sys/src/cmd/git/branch
+++ b/sys/src/cmd/git/branch
@@ -74,8 +74,11 @@ if(! ~ $#dirtypaths 0){
y=$nl^$dirtypaths
cleanpaths=`$nl{echo $"x$nl$"y | sort | uniq -u}
}
+
+# creating the dirs with a single
+# batch mkdir was significantly faster.
if(! ~ $#cleanpaths 0)
- cleandirs=`$nl{echo $nl^$cleanpaths | sed 's@/[^/]+/?$@@' | uniq}
+ cleandirs=`$nl{for(p in $cleanpaths) basename -d $p | uniq -u}
if(! ~ $#cleandirs 0){
mkdir -p $cleandirs
mkdir -p .git/index9/tracked/$cleandirs