Me and a friend are working on a side-project where most of the development is done with both of us sitting on the same machine. We will soon be based in different locations but would like to continue working in a similar manner. What tools would you use to enable such an environment?
EDIT: This includes not only collaborative editing, but also running the code, so a collaborative text editor (such as etherpad/google wave) alone won't do, as we would then have to save locally and execute, which over hundreds of cycles adds up to considerable time lost.