git-count-objects.shon commit clone: keep --reference even with -l -s (cf9dc65)
   1#!/bin/sh
   2#
   3# Copyright (c) 2005 Junio C Hamano
   4#
   5
   6GIT_DIR=`git-rev-parse --git-dir` || exit $?
   7
   8dc </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
  13                do
  14                        case $a,$b in
  15                        0,)     acc=0 ;;
  16                        *,+)    acc=$(($acc + $a)) ;;
  17                        p,)     echo "$acc" ;;
  18                        esac
  19                done
  20        }
  21}
  22
  23echo $(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