Right now it uses `Popen` to directly run git commands, should use a git library like pygit, gitpython, or dulwich instead. The ideal library will need to support 1. changing branches easily. 2. git blaming specific files + line numbers easily.