Many Apache projects have moved to Git as their main source code repository since 2012. This option is available to any project that wishes to use git, with the following policies in place:
Read-only Git mirrors continue to be available.
The ASF repo must be the canonical master repo that all committers push changes to. See this document for the reasons why.
ASF releases must be cut from the canonical ASF Git repositories.
Projects can request moving to Git as their main code repository, by creating an INFRA issue. See also the infra-contact page. Projects can request new, blank repositories by using reporeq.apache.org.
The current system has basic git support only. We are working on extending this service in the near future.
Custom commit or other hooks will not be supported, all projects get the same hooks. Setting up gitpubsub should provide sufficient flexiblity without impacting the core Git setup, volunteers are welcome to make that happen.