gitserver: remove non-bare repositories
Created by: keegancsmith
Non-bare repositories fail to fetch since a fetch can't update HEAD when you have a working copy. This leads to errors while users do operations which result in a fetch. This becomes more common over time since the repository won't update => bad UX. For this reason we remove the repository and let other processes come in and clone (rather than using reclone).
We have seen this occuring at a large customer who was experiencing some FS corruption. It was then non-trivial to detect and clean up. This motivated the addition of this janitor job.