It seems like we ought to raise an exception here that we can handle uniformly in `commands.py` -- that way we can handle this the same way (e.g., by printing an error message) for mercurial, subversion, etc. Exiting directly here would make testing a bit harder too.