girocco: delay initial project gc until not empty
commitee877be08f374d625445de68edd975a17e8af6a4
authorKyle J. McKay <mackyle@gmail.com>
Sun, 16 Aug 2015 23:33:47 +0000 (16 16:33 -0700)
committerKyle J. McKay <mackyle@gmail.com>
Sun, 16 Aug 2015 23:33:47 +0000 (16 16:33 -0700)
tree7dbe5f403555eca2625ca5db25f0763c7d073f9f
parent3115f10f41ae0e7bf95852c05bc041be3c7c8af6
girocco: delay initial project gc until not empty

When a project is initially created touch a .delaygc
file.  As long as the .delaygc file exists, gc will
be postponed.

The file is removed by forking a non-empty repo,
cloning a non-empty remote repo, fetching new refs
at update time and receiving new refs from the client.

This allows the first gc of a new project (and the
corresponding bundle/bitmap build) to take place soon
after the initial content is pushed rather than waiting
until it's time for gc to run on the project again.

Signed-off-by: Kyle J. McKay <mackyle@gmail.com>
Girocco/Project.pm
bin/git-http-backend-verify
bin/git-shell-verify
hooks/post-receive
jobd/gc.sh
jobd/jobd.pl
jobd/update.sh
taskd/clone.sh