breaking out the repository update so it can be called independently of the 'restart the whole of starphleet' business as well as making the repository relative to the git repo from which it's run, which will need to be changed... but hey... you can't have everything all at once