mirror of
https://github.com/git/git.git
synced 2024-11-25 02:44:48 +08:00
a4caa52140
Johannes suggested this earlier but I did not take it so seriously because this command is not that important. But this probably matters on Cygwin which does not seem to come with precompiled dc. It is a mystery for me that anything that mimics UNIX does not offer a dc, though. I did the detection for the lack of dc command a bit differently from the verison Johannes did. Signed-off-by: Junio C Hamano <junkio@cox.net>
32 lines
706 B
Bash
Executable File
32 lines
706 B
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2005 Junio C Hamano
|
|
#
|
|
|
|
. git-sh-setup || die "Not a git repository"
|
|
|
|
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
|