From 6757ada403bf0eb0fb1fddcffbbeb74d91cbbb51 Mon Sep 17 00:00:00 2001 From: James Bowes Date: Tue, 13 Mar 2007 21:58:22 -0400 Subject: Make gc a builtin. Signed-off-by: James Bowes Signed-off-by: Junio C Hamano --- contrib/examples/git-gc.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 contrib/examples/git-gc.sh (limited to 'contrib') 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 -- cgit v1.2.3