Git over Smart HTTP and svn+ssh Support
We have just added three new ways to access your repositories:
Subversion over svn+ssh
If you've ever tried working with a Subversion repository containing tens of thousands of files, you will know how slow checkouts and commits can be. One of the reasons for this is the fact that SVN uses one or more HTTP requests for each file you are checking in or out. To speed things up, we have just added support for the svn+ssh protocol, which tunnels your request over SSH, skipping the web server completely. Not only is this much faster, but using SSH keys can be more secure too. To get started, you will need to create an SSH key if you have not already done so and add it on your My Profile page. Then checkout your repository using the svn+ssh:// URL listed on the Account Dashboard. To switch an existing repository to svn+ssh, use a command like the following:
svn switch --relocate \ https://myaccount.repositoryhosting.com/svn/myaccount_myproject \ svn+ssh://firstname.lastname@example.org/myaccount/myproject
Git over Smart HTTP
Although SSH is generally the preferable method of accessing your repositories, sometimes you find yourself in a situation that requires HTTP access. The most common situation is probably restrictive corporate firewalls that block SSH connections. To help keep you connected to your code at all times, we have also just added support for Git over Smart HTTP. This is a feature supported in the 1.6.6 and newer versions of Git that allows you to push and clone your repositories over HTTP. It is "smart" in that the protocol is Git-specific and very efficient. Using HTTP also lets you connect to your repository quickly in situations where it might be cumbersome to set up SSH keys. The new http(s):// URLs are listed on the Account Dashboard.
GitWeb, et al.
So what happens if you go to the new Git HTTP URLs in your browser? We now serve up GitWeb, which is the official web-based browser for Git repositories. If you are looking for an alternative to Trac's repository browser, you'll want to check this out. GitWeb is fast and provides a much more Git-specific interface to your repository. It displays branch and tag labels on your commits, allows you to download patches, and provides a more detailed log than the Trac interface does.
If you're a Mercurial user, we have something for you too. We've always provided the "hgweb" web interface to Mercurial repositories, but we have just upgraded it to fit more nicely with the Repository Hosting look and feel. To access it, simply click the link provided in the project information on the Account Dashboard.
You've also always been able to get a simple directory listing of your Subversion repository or WebDAV shared drive by browsing to its' HTTP URL in your browser. However, we have now upgraded the display of these services, so they should look a little less... plain.