Contact Us
Frequently Asked Questions
General
What is Repository Hosting?
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.
Where are your servers located?
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.
How do you secure and backup my data?
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.
What do I do if I need support?
We stand ready to help you with any questions you may have. Please email us at support@repositoryhosting.com.
I do not see a place on your homepage to login. Where do I login?
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.
What do I do if I have lost my password?
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 within a Trac project.
How do I cancel my account?
If you would like to cancel your account, simply go to your Account Settings page, and there will be a "Cancel Account" link at the top-right corner of the page. Note that only Account Administrators may cancel the account.
Billing
What forms of payment do you accept?
We currently accept VISA, MasterCard, American Express, Discover and Paypal.
How do you determine how much I will be billed?
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).
When will my account be billed?
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.
Do you charge any hidden fees or surcharges?
We charge no hidden fees. One of the reasons we started Repository Hosting was because many of the other services would charge fees based on number of users, number of projects, etc, and we thought that was unfair. With Repository Hosting, you pay $6 per month for unlimited everything except disk space. You get 2GB for free and pay an additional $1 per GB per month after that.
Projects
To what extent can I customize my users' permissions?
Repository Hosting gives you a significant amount of control over user permissions. You may add many users to your account, and place them into groups. You may also create many projects and place them into categories. Permissions can then be set on users and projects, and even on groups and categories. For example, you can set a permission that says "Give all users in the Software Engineers group read and write permission to the repositories of all projects in the Consulting Work category."
You may specify None, Read, or Write access to repositories and shared drives. You may then specify fine-grained Trac permissions from Trac itself (e.g. WIKI_VIEW, TICKET_CREATE, TRAC_ADMIN). Additionally, you may make someone an Account Administrator, which gives them full control over all aspects of the account, such as billing and the ability to create users and groups. You can also make someone a Project Administrator for a specific project. This would give them full access to the project, including the ability to modify project settings.
You may also give certain permissions to the general public. This is handy if you have an open-source project or want anonymous users to be able to create tickets. From the Project Settings page you can give Read access to the repository for anonymous users. From Trac, you may specify permissions that should be given to anonymous users by setting the permissions on a user named "anonymous".
What is the XML schema used for custom callbacks?
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>
What options do I have for managing email notifications?
Types of Notifications
Each user in an account may specify the email notifications they receive. Email notifications are provided for:
- Repository Commits: Every time a commit is made to the project's repository. The notification will contain a summary of what changed.
- Ticket Changes: Every time a ticket is created or modified. The notification includes a summary of what changed.
- Wiki Changes: Every time a wiki page is created or changed.
- Backup Completions: Every time an automated backup has been completed. You may then choose to download the backup.
- Invoices: For account administrators, a copy of the monthly invoice is sent each time the account is billed.
Ticket Notifications
You may choose which tickets you would like to receive notifications for. The options are:
Watch This
You may also specify specific wiki pages and tickets that you would like to receive notifications for, regardless of your notification settings. To do this, simply click the "Watch This" link in the top-right corner of the screen when you are viewing a ticket or wiki page. To stop watching an item, simply click the "Unwatch This" link.
SSH Keys
How do I setup SSH keys in order to access my Git or Mercurial repository?
Repository Hosting uses public key cryptography to authenticate all private access to Git and Mercurial 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.
How do I get SSH keys to work in Windows?
Using SSH to access Git or Mercurial repositories from Windows is less straightforward than on Mac or Linux as Windows does not come with an SSH client. We suggest using either the PuTTY or OpenSSH third-party clients. We have found a couple of good tutorials that will help.
- http://www.codza.com/mercurial-with-ssh-setup-on-windows
- http://devlicio.us/blogs/sergio_pereira/archive/2009/05/06/git-ssh-putty-github-unfuddle-the-kitchen-sink.aspx
How do I manage multiple accounts with multiple keypairs on my client?
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
Backups
How safe are my repositories from data loss?
Repository Hosting creates hourly backups for our own disaster recovery plans. If something were to happen to our system as a whole, then we would restore it from the last available backup, which would be no more than one hour old. We keep these backups with decreasing resolution over time, for more than a month.
It should not be necessary to keep your own backups at all. However, we do provide a scheduled backup facility for your peace of mind should you wish to do so. You can even have your backups automatically copied to an Amazon S3 account of your choosing. Scheduled backups are free, of course.
How do I export my repository or Trac data?
To export the data for a project, simply request a backup of it. The backup contains everything you would need to recreate your project somewhere else, including a dump of the repository with the full history, the Trac data, plus a copy of the contents of the shared drive.
To request a backup, go to the Project Settings page, click on the Backups tab, and then click on the "Request a backup of this project right now" link. We will generate the backup for you and then notify you via email when it is complete. You can either download it from our site, or specify an S3 bucket you would like it sent to.
The backup file is compressed as a .tar.gz file. Within it, the /trac directory contains the results of a "trac-admin hotcopy". The /webdav directory contains a copy of all the files on the shared drive. Finally, there is a dump file of your Git, Mercurial, or Subversion repository, created with "git fast-export --all", "hg bundle -a" or "svnadmin dump", respectively.
You may recreate your repository using the following commands:
# git repository git init cat git.fast-export.gz | gzip -d | git fast-import git reset --hard # mercurial repository hg init hg unbundle hg.bundle hg update # subversion repository svnadmin create repo svnadmin load repo/ < subversion.dump
How long are the backups available?
Backups are available to be downloaded from our site for 4 days, or until the sum of the backups for your account reach 10GB, whichever comes first. Backups uploaded to an Amazon S3 account are accumulated and never deleted.
How can I automatically download backups to my local machine?
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=myuser&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"
One of our customers has created a more customizable download script, which you can find on his blog here: http://samsalisbury.net/articles/repositoryhosting-backup-script/. Thank you Sam!
How can I automatically clean up old backups in my S3 account?
One way to remove old backups from your S3 storage would be to create a quick script that deletes old entries and make sure it runs daily. If you are running on Linux, or some other Unix-like system, then you could use the following Bash script to do the trick, and set it up in the crontab to run daily.
These commands make use of the s3cmd command (http://s3tools.org/s3cmd). It assumes that $BUCKET is set to your S3 bucket name, $ACCOUNT and $PROJECT are set to your Repository Hosting account subdomain and project abbreviation, and $BACKUPS_KEEP is the number of recent backups to keep.
export NUM_BACKUPS=`s3cmd list $BUCKET:$ACCOUNT_$PROJECT_ | wc -l` for i in `s3cmd list $BUCKET:$ACCOUNT_$PROJECT_ | grep -v '\-\-' | \ sort -r | tail -n $(($NUM_BACKUPS - $BACKUPS_KEEP - 1))`; do s3cmd delete $BUCKET:$i done
Trac
What is 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.
What version of Trac are you running on your servers?
Repository Hosting servers are currently running Trac 0.11.6.
Trac Plugin Versions:
- Agilo: 0.8.3.2
- Custom Notifications (Announcer): 0.2
- Custom Roadmap: 0.4
- Download Releases: 0.2
- Roadmap Hours: 0.5
- Table of Contents: 11.0.0.3
- Ticket Deletions: 2.0
- Timing and Estimation: 0.9.2b
- Wiki Backlinks: 1.0
- Worklog: 0.1
- Wysiwyg Editor: 0.2
- XMLRPC: 1.0.6
Why can I not see the Browse Source tab in my Trac project?
When you first create a Git or Mercurial 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.
What plugins and features do you support for Trac?
We support the following plugins:
- Agilo
- Custom Notifications (Announcer)
- Custom Roadmap
- Download Releases
- Roadmap Hours
- Table of Contents
- Ticket Deletion
- Timing and Estimation
- Wiki Backlinks
- Worklog
- Wysiwyg Editor
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)
What is the syntax for commit messages to affect ticket status?
Here is the documentation from Trac:
Searches commit messages for text in the form of:
command #1
command #1, #2
command #1 & #2
command #1 and #2
Instead of the short-hand syntax "#1", "ticket:1" can be used as well, e.g.:
command ticket:1
command ticket:1, ticket:2
command ticket:1 & ticket:2
command ticket:1 and ticket:2
In addition, the ':' character can be omitted and issue or bug can be used
instead of ticket.
You can have more then one command in a message. The following commands are
supported. There is more than one spelling for each command, to make this as
user-friendly as possible.
close, closed, closes, fix, fixed, fixes
The specified issue numbers are closed with the contents of this commit
message being added to it.
references, refs, addresses, re, see
The specified issue numbers are left in their current status, but the
contents of this commit message are added to their notes.
A fairly complicated example of what you can do is with a commit message of:
Changed blah and foo to do this or that. Fixes #10 and #12, and refs #12.
This will close #10 and #12, and add a note to #12.
If the Timing and Estimation plugin is enabled, then there is support for
specifying time spent in commit messages.
"Blah refs #12 (1)" will add 1h to the spent time for issue #12
"Blah refs #12 (spent 1.5)" will add 1.5h to the spent time for issue #12
As above it is possible to use complicated messages:
"Changed blah and foo to do this or that. Fixes #10 (1) and #12 (2),
and refs #13 (0.5)."
This will close #10 and #12, and add a note to #13 and also add 1h
spent time to #10, add 2h spent time to #12 and add 30m spent time
to #13.
Note that:
(spent 2), (sp 2) or simply (2) may be used for spent
' ', ',', '&' or 'and' may be used references
Can I import an existing Trac project into my Repository Hosting account?
We do support importing existing Trac projects. Please contact our support team for more information.
Subversion
What is 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.
What version of Subversion are you running on your servers?
Repository Hosting servers are currently running Subversion 1.6.11.
How do I upload a dump file of my existing repository?
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 automatically load it up and send you an email as soon as it has been completed.
Git
What is 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.
What version of Git are you running on your servers?
Repository Hosting servers are currently running Git 1.7.0.6.
Mercurial
What is 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/.
What version of Mercurial are you running on your servers?
Repository Hosting servers are currently running Mercurial 1.5.1.
WebDAV
How do I map my shared drive from Windows?
Windows support for WebDAV is difficult at best. For your own sanity, we would suggest trying a third-party WebDAV client such as WebDrive or NetDrive. For more information, see: http://www.webdrive.com/products/webdrive/winindex.html and http://www.netdrive.net/home.html
How do I map my shared drive from a Mac?
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]
How do I map my shared drive from Linux?
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).
Have questions?
If you have any questions about our service, please do not hesitate to contact us. You can start by either filling out the form to the left, or email us at support@repositoryhosting.com.
Worst Case Scenario
Despite best efforts, even the most hardened of sites can go down. If we are ever experiencing any technical difficulties with our infrastructure, we will use an independently hosted Status Page to keep you informed.
If you suspect that something may be wrong with Repository Hosting, please be sure to visit: