diff options
author | Junio C Hamano <junkio@cox.net> | 2007-03-18 22:46:30 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-03-18 22:46:30 -0700 |
commit | 94b9816c5ce5bfc8bf4a8baf2128fa2d429a6898 (patch) | |
tree | a850859848a90e45c33a4b65339bfce1167da2b9 /contrib | |
parent | Merge branch 'fl/cvsserver' (diff) | |
parent | Make gc a builtin. (diff) | |
download | tgif-94b9816c5ce5bfc8bf4a8baf2128fa2d429a6898.tar.xz |
Merge branch 'jb/gc'
* jb/gc:
Make gc a builtin.
Diffstat (limited to 'contrib')
-rwxr-xr-x | contrib/examples/git-gc.sh | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/examples/git-gc.sh b/contrib/examples/git-gc.sh new file mode 100755 index 0000000000..436d7caff5 --- /dev/null +++ b/contrib/examples/git-gc.sh @@ -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 |