8 cd "$cfg_reporoot/$proj.git"
10 if check_interval lastgc
$cfg_min_gc_interval; then
11 progress
"= [$proj] garbage check skip (last at $(config_get lastgc))"
15 progress
"x [$proj] garbage check disabled"
18 progress
"+ [$proj] garbage check (`date`)"
20 # safe pruning: we put all our objects to all forks, then we can
21 # safely get rid of extra ones; repacks in forks will get rid of
22 # the redundant ones again then
24 if [ -d "../$forkdir" ]; then
25 get_repo_list
"$forkdir/" |
27 # Match objects in parent project
28 for d
in objects
/?? objects
/pack
; do
29 [ "$d" != "objects/??" ] ||
continue
30 mkdir
-p "$cfg_reporoot/$fork.git/$d"
31 ln -f "$d"/* "$cfg_reporoot/$fork.git/$d" ||
:
34 # fixup project permissions
35 >"$cfg_fixup_queue" echo "$fork"
39 quiet
=; [ -n "$show_progress" ] || quiet
=-q
40 git repack
-a -d --window-memory=1G
-l $quiet
42 git update-server-info
43 config_set lastgc
"$(date -R)"
45 progress
"- [$proj] garbage check (`date`)"