Make gc a builtin.
Signed-off-by: James Bowes <jbowes@dangerouslyinc.com> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:

committed by
Junio C Hamano

parent
1589e0517f
commit
6757ada403
37
contrib/examples/git-gc.sh
Executable file
37
contrib/examples/git-gc.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2006, Shawn O. Pearce
|
||||
#
|
||||
# Cleanup unreachable files and optimize the repository.
|
||||
|
||||
USAGE='[--prune]'
|
||||
SUBDIRECTORY_OK=Yes
|
||||
. git-sh-setup
|
||||
|
||||
no_prune=:
|
||||
while case $# in 0) break ;; esac
|
||||
do
|
||||
case "$1" in
|
||||
--prune)
|
||||
no_prune=
|
||||
;;
|
||||
--)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
case "$(git config --get gc.packrefs)" in
|
||||
notbare|"")
|
||||
test $(is_bare_repository) = true || pack_refs=true;;
|
||||
*)
|
||||
pack_refs=$(git config --bool --get gc.packrefs)
|
||||
esac
|
||||
|
||||
test "true" != "$pack_refs" ||
|
||||
git-pack-refs --prune &&
|
||||
git-reflog expire --all &&
|
||||
git-repack -a -d -l &&
|
||||
$no_prune git-prune &&
|
||||
git-rerere gc || exit
|
Reference in New Issue
Block a user