From: Junio C Hamano Date: Sat, 19 Nov 2005 10:54:07 +0000 (-0800) Subject: git-count-objects: dc replacement X-Git-Tag: v0.99.9k^2~72 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=a4caa5214058ad7e2bc7b74e989d6b3ffb47bec3;p=git.git git-count-objects: dc replacement 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 --- diff --git a/git-count-objects.sh b/git-count-objects.sh index 843d2fd9..fc61a1a9 100755 --- a/git-count-objects.sh +++ b/git-count-objects.sh @@ -1,6 +1,24 @@ #!/bin/sh +# +# Copyright (c) 2005 Junio C Hamano +# -. git-sh-setup +. git-sh-setup || die "Not a git repository" + +dc /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, \ $({