Merge branch 'master' into lt/logopt
[gitweb.git] / git-count-objects.sh
index 74ee4f371f749cb5ae9fdb7e789d341f60997e62..40c58efe0884a2431146bdd3dd12910033e5f182 100755 (executable)
@@ -1,8 +1,26 @@
 #!/bin/sh
+#
+# Copyright (c) 2005 Junio C Hamano
+#
 
-. git-sh-setup
+GIT_DIR=`git-rev-parse --git-dir` || exit $?
 
-echo $(find "$GIT_DIR/objects"/?? -type f -print | wc -l) objects, \
+dc </dev/null 2>/dev/null || {
+       # This is not a real DC at all -- it just knows how
+       # this script feeds DC and does the computation itself.
+       dc () {
+               while read a b
+               do
+                       case $a,$b in
+                       0,)     acc=0 ;;
+                       *,+)    acc=$(($acc + $a)) ;;
+                       p,)     echo "$acc" ;;
+                       esac
+               done
+       }
+}
+
+echo $(find "$GIT_DIR/objects"/?? -type f -print 2>/dev/null | wc -l) objects, \
 $({
     echo 0
     # "no-such" is to help Darwin folks by not using xargs -r.