Staging
v0.5.1
swh:1:snp:c5feb7ee9221a3820c8879e85e8a18470c0b3afa
Raw File
Tip revision: 4baff50551545e2b6825973ec37bcaf03edb95fe authored by Junio C Hamano on 18 April 2006, 20:15:18 UTC
GIT 1.3.0
Tip revision: 4baff50
git-count-objects.sh
#!/bin/sh
#
# Copyright (c) 2005 Junio C Hamano
#

GIT_DIR=`git-rev-parse --git-dir` || exit $?

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.
    find "$GIT_DIR/objects"/?? -type f -print 2>/dev/null |
    xargs du -k "$GIT_DIR/objects/no-such" 2>/dev/null |
    sed -e 's/[ 	].*/ +/'
    echo p
} | dc) kilobytes
back to top