diff options
author | Junio C Hamano <junkio@cox.net> | 2005-11-19 02:54:07 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2005-11-19 02:54:07 -0800 |
commit | a4caa5214058ad7e2bc7b74e989d6b3ffb47bec3 (patch) | |
tree | 2be4cf7b344a8a70e5f6be964eaba98dfe8fb4d8 /git-count-objects.sh | |
parent | 3eeb419968c1f8f0a762a7127db770e9d9c8037d (diff) | |
download | git-a4caa5214058ad7e2bc7b74e989d6b3ffb47bec3.tar.gz |
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 <junkio@cox.net>
Diffstat (limited to 'git-count-objects.sh')
-rwxr-xr-x | git-count-objects.sh | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/git-count-objects.sh b/git-count-objects.sh index 843d2fd9f2..fc61a1a987 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 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, \ $({ |