Those problems are now ending.
gogo is a set of bash functions that will enable you to more easily switch things around. Since I wrote it (first) for me, it supports my most common needs up front: Python, Mercurial, Emacs, and TurboGears. The only piece that is not trivially swappable is Mercurial. I'm sorry, that's on my todo list, but I wanted to let people see it and maybe start getting some value from it.
I highly recommend checking out the README file. It includes instructions on getting set up, along with instructions on how to use the tool. For now, a quick summary of usage:
- Make a new project: gogo -n myproject
- Activate the new project (after having closed your current shell): gogo myproject
- Make a new Python project: gogo -n -l python pyproject
- Make a new TurboGears project: gogo -n -l python -t tg21 tgproject
Switching between projects is downright trivial. gogo even supports tab completion of project names. It's already helping me, and hopefully it can help you.
You can download the v0.4 release, or clone the latest repository (or even download a .tar.gz file of it).