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.
It was pointed out to me that Time Machine can be configured to perform backups on any and all volumes on internal and external disks, not just the boot volume. This makes my question moot: I can put the repositories anywhere and make then sure Time Machine is configured appropriately on each OS volume.