Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Let cron run "git gc" on all your git repos
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
features
lib
.gitignore
Gemfile
LICENSE
README
Rakefile
git-gc-cron.gemspec

README

Description
--------------

git-gc-cron recursively searches for .git and *.git repos in the directories
specified on the command line and runs "git gc" on them.

Make sure you only have it search repos you own.


Installation
----------------

As user or as root:

  $ gem install git-gc-cron


Put this into the system crontab (for example fcron on Linux):

  %weekly,nice(10),runas(git) * * git-gc-cron -v /var/spool/gitosis/repositories
  %weekly,nice(10),runas(me) * * git-gc-cron -v /home/me/myprojects /home/me/myotherprojects

or into your personal crontab, if you like:

  %weekly,nice(10) * * git-gc-cron -v /home/me


git-gc-cron takes any number of paths to traverse as argument.

The option -v prints the path of every repo to stdout. Remove the option -v
from the above examples if you want the cron job to be silent.

To watch the progress live you can take a look at the output of ps or top. For
each repo it compresses git-gc-cron changes the process name of the subprocess
"git gc" to something more useful:

  (#1/10 /var/spool/gitosis/repositories/myproject.git) git
Something went wrong with that request. Please try again.