mtrack user repos and ssh

I've just pushed a somewhat experimental change to the default branch of mtrack that enables per-user repositories, repository forking, SSH key management, and SSH repository serving integration.

It's important to stress that this is preliminary in as much as restrictive controls are missing. There are some ACLs and rights around repo creation that are not yet implemented. Additionally, if you are using OpenID, any authenticated user will be able to add an ssh key and access the mtrack created repos (but nothing outside of that).

What you get in the current tip:

  • Users can create Mercurial, Git or Subversion repositories
  • Delete your own repositories
  • Fork Mercurial or Git repositories
  • Associate your SSH keys with your mtrack login
  • Integration with SSH and Mercurial/Git/Subversion repo server

What you don't get (yet):

  • ACLs to control forking or access within repos
  • Pull requests, patch queue management
  • Graphs of forks and non-merged changes from forks

If you'd like to try these features, I'd love to hear your feedback. To update your instance:

$ hg pull
$ php bin/schema-tool.php

Then navigate to help.php/SSH (source text) to read about setting up SSH.

Enjoy!