Using Eclipse, I'm developing and maintaining Java desktop applications. My Mac users have OS X versions from 10.6 to 10.9. My development machine has two disk partitions and can boot either OS X 10.6 running Apple Java 6, or OS X 10.8 running Oracle Java 7. (Note that 10.6 cannot run Java 7; 10.8 cannot run Java 6.) I have an external disk on which Time Machine backs up both OS X partitions.
I want to maintain two versions of an application, one for each Java version. Most source code is identical across versions. While working on a particular version, I boot from the appropriate partition.
I'm looking for a strategy to use Subversion for source code version control. I can put the repository on either OS X partition (both are visible regardless of which is the current boot partition), but I believe it will be backed up by Time Machine only if I have booted from the same partition. I can put the repository on the external disk, but then it does not get backed up by Time Machine. I live in a rural are where broadband Internet is not available, so any remote or "cloud" repository would not be usable.
I can see potential problems in situations where, for example, I've booted into 10.6, edited some files, and then want to reboot into 10.8 for some regression testing. I don't want to have to check in all files before every reboot, and then check them out again after.
I particularly like the convenience of Time Machine's backups and its ability to restore my machine to a known state. Having to adopt a separate strategy for backing up the Subversion repository is less desirable.
I have never used git, but would consider it.