mirror of
https://github.com/git/git.git
synced 2024-11-17 22:44:49 +01:00
Merge branch 'jc/count' into next
* jc/count: builtin-count-objects: make it official.
This commit is contained in:
commit
a9fb582323
3 changed files with 13 additions and 34 deletions
|
@ -7,13 +7,23 @@ git-count-objects - Reports on unpacked objects
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
--------
|
--------
|
||||||
'git-count-objects'
|
'git-count-objects' [-v]
|
||||||
|
|
||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
-----------
|
-----------
|
||||||
This counts the number of unpacked object files and disk space consumed by
|
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.
|
them, to help you decide when it is a good time to repack.
|
||||||
|
|
||||||
|
|
||||||
|
OPTIONS
|
||||||
|
-------
|
||||||
|
-v::
|
||||||
|
In addition to the number of loose objects and disk
|
||||||
|
space consumed, it reports the number of in-pack
|
||||||
|
objects, and number of objects that can be removed by
|
||||||
|
running `git-prune-packed`.
|
||||||
|
|
||||||
|
|
||||||
Author
|
Author
|
||||||
------
|
------
|
||||||
Written by Junio C Hamano <junkio@cox.net>
|
Written by Junio C Hamano <junkio@cox.net>
|
||||||
|
|
4
Makefile
4
Makefile
|
@ -115,7 +115,7 @@ SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__
|
||||||
SCRIPT_SH = \
|
SCRIPT_SH = \
|
||||||
git-add.sh git-bisect.sh git-branch.sh git-checkout.sh \
|
git-add.sh git-bisect.sh git-branch.sh git-checkout.sh \
|
||||||
git-cherry.sh git-clean.sh git-clone.sh git-commit.sh \
|
git-cherry.sh git-clean.sh git-clone.sh git-commit.sh \
|
||||||
git-count-objects.sh git-fetch.sh \
|
git-fetch.sh \
|
||||||
git-format-patch.sh git-ls-remote.sh \
|
git-format-patch.sh git-ls-remote.sh \
|
||||||
git-merge-one-file.sh git-parse-remote.sh \
|
git-merge-one-file.sh git-parse-remote.sh \
|
||||||
git-prune.sh git-pull.sh git-push.sh git-rebase.sh \
|
git-prune.sh git-pull.sh git-push.sh git-rebase.sh \
|
||||||
|
@ -168,7 +168,7 @@ PROGRAMS = \
|
||||||
git-describe$X git-merge-tree$X git-blame$X git-imap-send$X
|
git-describe$X git-merge-tree$X git-blame$X git-imap-send$X
|
||||||
|
|
||||||
BUILT_INS = git-log$X git-whatchanged$X git-show$X \
|
BUILT_INS = git-log$X git-whatchanged$X git-show$X \
|
||||||
git-diff$X
|
git-count-objects$X git-diff$X
|
||||||
|
|
||||||
# what 'all' will build and 'install' will install, in gitexecdir
|
# what 'all' will build and 'install' will install, in gitexecdir
|
||||||
ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
|
ALL_PROGRAMS = $(PROGRAMS) $(SIMPLE_PROGRAMS) $(SCRIPTS)
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Copyright (c) 2005 Junio C Hamano
|
|
||||||
#
|
|
||||||
|
|
||||||
GIT_DIR=`git-rev-parse --git-dir` || exit $?
|
|
||||||
|
|
||||||
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
|
|
Loading…
Reference in a new issue