1 #!/bin/sh
2 #
3 # Copyright (c) 2006, Shawn O. Pearce
4 #
5 # Cleanup unreachable files and optimize the repository.
7 USAGE='git-gc [--prune]'
8 SUBDIRECTORY_OK=Yes
9 . git-sh-setup
11 no_prune=:
12 while case $# in 0) break ;; esac
13 do
14 case "$1" in
15 --prune)
16 no_prune=
17 ;;
18 --)
19 usage
20 ;;
21 esac
22 shift
23 done
25 git-pack-refs --prune &&
26 git-reflog expire --all &&
27 git-repack -a -d -l &&
28 $no_prune git-prune &&
29 git-rerere gc || exit