diff options
author | Junio C Hamano <junkio@cox.net> | 2007-01-21 23:28:28 -0800 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-01-21 23:28:28 -0800 |
commit | e3ff4b244726f89620201e3295f097cf00b6b502 (patch) | |
tree | 0974a068a5c3ce28d9c132ec232ff8da266beded /git-gc.sh | |
parent | a0022eebf345a4515c7d148c303911010b1fa834 (diff) | |
download | git-e3ff4b244726f89620201e3295f097cf00b6b502.tar.gz |
git-gc: do not run git-prune by default.
git-prune is not safe when run uncontrolled in parallel while
other git operations are creating new objects. To avoid
mistakes, do not run git-prune by default from git-gc.
Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-gc.sh')
-rwxr-xr-x | git-gc.sh | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -4,12 +4,26 @@ # # Cleanup unreachable files and optimize the repository. -USAGE='' +USAGE='git-gc [--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 + git-pack-refs --prune && git-reflog expire --all && git-repack -a -d -l && -git-prune && +$no_prune git-prune && git-rerere gc || exit |