__git_ps1 takes forever to return in certain directories. I need to decide on a suitable way to make it time out. Just putting timeout in front of it doesn't work, as it's a bash function and timeout is an external command.
What takes time is a git diff. Maybe I'll just define my own __git_ps1 that wraps that part in a timeout.