If a git command like ls-remote is hanging, the Git settings page will hang until it fails with a "Gateway Timeout" message. It also locks the session entirely. We should do some smarter async programming so that OS commands have a short timeout and display an error if they time out.