bitshifter is a simple webserver that listens for bitbucket repository push
webhooks and then if there is a clone of that repo locally, it pulls in the new
changes and then pushes them to a new repository.
This is done via the
`incoming` and
`outgoing` paths in the local hg repo.
Right now it is expected that the
`incoming` path points to bitbucket and the
outgoing path goes where ever you want. However, to be able to push,
bitshifter
*must* have permission to do so. This can be via ssh key, but if
the key has a password it must be unlocked and added to an ssh agent that
bitshifter listens on
`0.0.0.0:11101` by default. To add bitshifter as a
webhook on bitbucket, you must specify the url as
`http://ipaddress:11101/hooked`.
Repositories are expected to be in located in the
`repos/` directory and
they should be the same path as they are on bitbucket. For example, this
repository is
`rw_grim/bitshifter` on bitbucket, so it's path relative to this
file is
`repos/rw_grim/bitshifter`. Once the repo is cloned into that
directory, you need to make sure that it has both an
`incoming` and
`outgoing`path. Once that's done, you should be good to go.