We are moving with the times, and are now introducing Git as a supplement to our Subversion support. This post is not about the relative merits of each system, only to provide an overview of the new features we have added for Git.
- Git is optional. Each project still gets one Subversion project like before, but can now add additional Git repositories.
- Git repositories are not yet browsable via the web interface. The source, changesets and timeline of events are not yet enabled due to (lack of) performance. We don't quote get the performance we require with so many projects and repositories, and no size or content restrictions. However, we have made a small 'Browse Source' helper that lists Git repositories for each project with URLs to use with Git clients. We will enable the full source browsing functionality as soon as it is ready.
- Git clients can connect both through SSH and HTTPS. HTTPS being the most common and easy to get started with, but SSH adding both additional security and usefulness in certain situations by providing certificate-based access.
- To support SSH certificate-based access, we have made an administration interface for adding your public keys. The interface is available through your personal profile project, reachable via your name in the menu at the very top. If this still says "Create profile..." you need to click and create a profile first. Once accessed, the administration interface should be self-explanatory: It allows you to paste and add keys, or mark existing keys and delete them.
- All projects now have a Git/Repositories menu item under "Admin". However, like anything else this is restricted by permissions, so make sure users are assigned permissions REPOSITORY_CREATE, REPOSITORY_DELETE or VERSIONCONTROL_ADMIN as needed. With required permissions, just enter a name and create your first Git repository in seconds. And, you can even fork an existing repository as an identical copy of the original (a.k.a server-side clones). Permissions are managed through this same interface, as is the ability to delete projects.
Questions? Missing features? Bugs? Please let us know!