summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <junkio@cox.net>2005-07-30 17:31:47 -0700
committerLibravatar Junio C Hamano <junkio@cox.net>2005-07-31 11:58:43 -0700
commit60036a41e1f25ee3e89142fa92e203dbbc6145cc (patch)
treeee31141f08e3fb26478f25d19cbae01f43013c09
parentFetch from a packed repository on dumb servers. (diff)
downloadtgif-60036a41e1f25ee3e89142fa92e203dbbc6145cc.tar.xz
Add a stupid "count objects" script.
This counts the number of unpacked object files and disk space consumed by them, to help you decide when it is a good time to repack. Signed-off-by: Junio C Hamano <junkio@cox.net>
-rw-r--r--Makefile2
-rwxr-xr-xgit-count-objects-script13
2 files changed, 15 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index db52a852f6..1b0ebb4ce8 100644
--- a/Makefile
+++ b/Makefile
@@ -67,6 +67,8 @@ SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \
git-ls-remote-script git-clone-dumb-http git-rename-script \
git-request-pull-script git-bisect-script git-fetch-dumb-http
+SCRIPTS += git-count-objects-script
+
PROG= git-update-cache git-diff-files git-init-db git-write-tree \
git-read-tree git-commit-tree git-cat-file git-fsck-cache \
git-checkout-cache git-diff-tree git-rev-tree git-ls-files \
diff --git a/git-count-objects-script b/git-count-objects-script
new file mode 100755
index 0000000000..86432db6aa
--- /dev/null
+++ b/git-count-objects-script
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+. git-sh-setup-script
+
+echo $(find "$GIT_DIR/objects"/?? -type f -print | 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