General
Repository Hosting is a hosting service for software project management tools. We specialize in hosted Trac, Subversion and Git.
However, unlike our competitors, we strive to make hosted project management simple again. There is only One Plan and One Price. $6.00 per month buys you unlimited repositories, users and Trac instances — AND 2GB of storage.
We are proud to say that all of our servers are currently hosted with Amazon EC2. Amazon EC2 enables us with an unprecedented reliability, redundancy and scalability. Leveraging the entire Amazon infrastructure, Repository Hosting can react very quickly to our customers growing needs.
As developers, we understand what it means to entrust your code to someone and we take this responsibility very seriously.
Regarding security,
every Repository Hosting account has 128-bit SSL encryption enabled by default. All repositories can also be accessed over SSL or SSH (for git).
Regarding backups, a snapshot of all account data is taken hourly and stored at an offsite location. Additionally, customers can download project backups at any time, including the entire Trac project and associated repository dump.
Each Repository Hosting account is represented by a unique subdomain (i.e. mysubdomain.repositoryhosting.com) and has its own set of unique users. To login to your account, you must first visit your account's subdomain directly.
If you do not remember your account subdomain, please note that it was in the welcome email sent to you upon signup.
If you have lost your password, simply visit your account and click the "Sign In" link. Then, click the "Password Reminder" link at the bottom of the sign in box.
If you do not see this link, be sure that you are not attempting to sign in from with a Trac project.
Billing and Subscription
Every account includes 2GB of space — more than enough for most teams. However, if you require more storage, we charge $1.00 for each additional gigabyte.
For instance, if you are using 3.5GB of disk space, you will be charged your standard amount ($6.00) plus $1 for each of the 2 additional gigabytes of storage required — a total of $8.00 ($6.00 + $2.00).
Your first 30 days are completely free. After your 30 day free trial has ended, we will bill your credit card or Paypal account as provided upon sign up.
Accounts and Projects
Repository Hosting uses public key cryptography to authenticate all private access to Git repositories over SSH. In order to access a private repository, or commit to a public Git repository, you will need to generate an SSH keypair and provide Repository Hosting with the public half of the keypair.
NOTE: If you have multiple accounts at Repository Hosting, then you will need to generate a new keypair for every account.
To register your public key, first log into Repository Hosting and then click the Preferences link in the upper-right corner of the page, next to Logout. Select the "Public Keys" tab and click on "New key...".
For more details on how to generate a keypair, see this page.
Because you need to use separate SSH keys for each of your Repository Hosting accounts, you need a way to switch
between the keys on your client. The easiest way is to modify the ssh_config file (on Ubuntu, this is located here:
/etc/ssh/ssh_config). Use the following sample setup as a guide:
#
# personal account
#
Host personal.repositoryhosting.com
Hostname personal.repositoryhosting.com
IdentitiesOnly yes
IdentityFile ~/.ssh/personal_key
#
# corporate account
#
Host corporate.repositoryhosting.com
Hostname corporate.repositoryhosting.com
IdentitiesOnly yes
IdentityFile ~/.ssh/corporate_key
The custom callback sends an HTTP POST request to the URL of your choice, optionally passing the username and password
for basic authentication. The data is sent as XML and contains the revision, author, created at date, and log message
of the commit. For example:
POST http://bob:12345@mycompany.com/notifications
<?xml version="1.0" encoding="UTF-8"?>
<commit>
<revision>0cea058405ad688bf4d6486d090e0e70f9111545</revision>
<author>Bob Smith (bob@mycompany.com)</author>
<created_at>20010-02-03T12:53:53+00:00</created_at>
<log>Added a new module to the project.</log>
</commit>
The best way to do this is to turn on the S3 upload feature. That way the backup is sent to an S3 account that you own every time. If you wanted the backups on your local server as well, you could run s3sync on it daily to sync up with the S3 account.
Another way to do this is to create a script that automatically downloads the backup each day. Backups may be accessed using a URL such as:
https://subdomain.repositoryhosting.com/projects/1/backups/2010/02/27/00
The URL contains the year, the month, the day, and then a 2-digit index. The index is 00 for the first backup created in a day, 01 for the second, etc. If you just have daily backups set up, then you will only have one backup in a day, and the index will always be 00.
This allows you to create a simple script to download the backup each day. For example, on Linux you could use something like the following to download today's backup (the first command logs you in, the second downloads today's backup):
curl -sS -X POST 'https://subdomain.repositoryhosting.com/session'
-d "username=matt&password=mypass" -c cookies.txt
curl -sS -L
"https://subdomain.repositoryhosting.com/projects/1/backups/`date +%Y/%m/%d/00`"
-b cookies.txt -o "subdomain.`date +%Y-%m-%d`.tar.gz"
Trac
Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management. Our mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies (from the Trac website).
For more information about Trac, please see: http://trac.edgewall.org.
Repository Hosting servers are currently running Trac 0.11.6.
When you first create a Git project, there is no source to browse. Once you have committed at least one revision to your repository, you will then be able to browse the source from within your Trac project.
We support the following plugins:
We also support the following additional features:
- Email into Trac
- Commit notification sent to Twitter, Campfire, Basecamp, CIA, or a custom callback
- XML-RPC API (enables Eclipse Mylyn Integration)
Subversion
Subversion is an open source version control system designed as successor to the once popular CVS. It is widely accepted by both the open source community as practically the de facto standard in version control systems. It is also used broadly in the corporate context.
Subversion offers a variety of features, including:
- directories, renames, and file meta-data are versioned
- atomic commits
- branching and tagging
- versioning of symbolic links
- space efficient binary diffing
- client availability on a multitude of platforms
For more information about Subversion, please see: http://subversion.tigris.org.
Repository Hosting servers are currently running Subversion 1.6.9.
We would be glad to import a repository dump file for you. We will require the dump file for your repository (as created with 'svnadmin dump'). This dump file can be easily sent to us by clicking the 'Upload a dump file' link available from the Settings page on any given project. Once we receive the dump file, we will load it up and send you an email as soon as it has been completed.
Git
Git is an open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do. (from the Git website)
For more information about Git, please see: http://git-scm.com.
Repository Hosting servers are currently running Git 1.7.0.
Mercurial
Mercurial (abbreviated Hg) is an open source, distributed version control system.
Mercurial is dedicated to speed and efficiency with a sane user interface. Mercurial offers you the power and speed to efficiently handle projects of any size and kind. Every clone contains the whole project history, so committing, branching, tagging and merging are local operations which makes them fast and convenient. You can use a multitude of workflows and easily enhance its functionality with extensions. (from the Mercurial website)
For more information about Mercurial, please see: http://mercurial.selenic.com/.
Repository Hosting servers are currently running Mercurial 1.4.3.
WebDAV
You can connect to your Repository Hosting shared drive from a Mac using Finder.
Go to "Go" -> "Connect to Server". Enter the address of your shared drive, e.g.: https://[subdomain].repositoryhosting.com/webdav/[subdomain]_[projectname]
If you are running a Linux distribution that uses Nautilus, you would normally connect to your share drive by going to "File" -> "Connect to Server" and select "Secure WebDAV (HTTPS)". However, we have found that this often does not work. In this case, you may use the following as a workaround.
- Open Nautilus
- Make sure your location bar is visible (can be enabled via the menu: "View" -> "Location bar")
- Make sure the location bar is in text mode (you can toggle between text and button mode via the first button in your location bar)
- Enter the full URL for your Shared Project Drive into the location field but change https into davs. E.g.: davs://[subdomain].repositoryhosting.com/webdav/[subdomain]_[projectname]
- Enter your username and password when asked (the same as is required to log into the web interface).