Clean up file descriptors when calling hooks.
[alt-git.git] / git-count-objects.sh
blob40c58efe0884a2431146bdd3dd12910033e5f182
1 #!/bin/sh
3 # Copyright (c) 2005 Junio C Hamano
6 GIT_DIR=`git-rev-parse --git-dir` || exit $?
8 dc </dev/null 2>/dev/null || {
9 # This is not a real DC at all -- it just knows how
10 # this script feeds DC and does the computation itself.
11 dc () {
12 while read a b
14 case $a,$b in
15 0,) acc=0 ;;
16 *,+) acc=$(($acc + $a)) ;;
17 p,) echo "$acc" ;;
18 esac
19 done
23 echo $(find "$GIT_DIR/objects"/?? -type f -print 2>/dev/null | wc -l) objects, \
24 $({
25 echo 0
26 # "no-such" is to help Darwin folks by not using xargs -r.
27 find "$GIT_DIR/objects"/?? -type f -print 2>/dev/null |
28 xargs du -k "$GIT_DIR/objects/no-such" 2>/dev/null |
29 sed -e 's/[ ].*/ +/'
30 echo p
31 } | dc) kilobytes