You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
609 B
38 lines
609 B
18 years ago
|
#!/bin/sh
|
||
|
#
|
||
|
# Copyright (c) 2006, Shawn O. Pearce
|
||
|
#
|
||
|
# Cleanup unreachable files and optimize the repository.
|
||
|
|
||
18 years ago
|
USAGE='[--prune]'
|
||
18 years ago
|
SUBDIRECTORY_OK=Yes
|
||
|
. git-sh-setup
|
||
|
|
||
18 years ago
|
no_prune=:
|
||
|
while case $# in 0) break ;; esac
|
||
|
do
|
||
|
case "$1" in
|
||
|
--prune)
|
||
|
no_prune=
|
||
|
;;
|
||
|
--)
|
||
|
usage
|
||
|
;;
|
||
|
esac
|
||
|
shift
|
||
|
done
|
||
|
|
||
18 years ago
|
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" ||
|
||
18 years ago
|
git-pack-refs --prune &&
|
||
|
git-reflog expire --all &&
|
||
18 years ago
|
git-repack -a -d -l &&
|
||
18 years ago
|
$no_prune git-prune &&
|
||
18 years ago
|
git-rerere gc || exit
|