Eclipse を使用して、Java デスクトップ アプリケーションの開発と保守を行っています。私の Mac ユーザーは、OS X バージョン 10.6 から 10.9 を使用しています。私の開発用マシンには 2 つのディスク パーティションがあり、Apple Java 6 を実行する OS X 10.6、または Oracle Java 7 を実行する OS X 10.8 のいずれかを起動できます (10.6 は Java 7 を実行できず、10.8 は Java 6 を実行できないことに注意してください)。 Time Machine は両方の OS X パーティションをバックアップします。
Java バージョンごとに 1 つずつ、2 つのバージョンのアプリケーションを維持したいと考えています。ほとんどのソース コードはバージョン間で同一です。特定のバージョンで作業している間、適切なパーティションから起動します。
ソース コードのバージョン管理に Subversion を使用する方法を探しています。どちらの OS X パーティションにもレポジトリを配置できます (どちらが現在のブート パーティションであるかに関係なく両方とも表示されます) が、同じパーティションから起動した場合にのみ Time Machine によってバックアップされると思います。リポジトリを外部ディスクに置くことはできますが、Time Machine によってバックアップされません。私はブロードバンドインターネットが利用できない地方に住んでいるので、リモートまたは「クラウド」リポジトリは使用できません。
たとえば、10.6 で起動し、いくつかのファイルを編集した後、リグレッション テストのために 10.8 で再起動したい場合などに、潜在的な問題が発生する可能性があります。再起動するたびにすべてのファイルをチェックインし、後でもう一度チェックアウトする必要はありません。
特に、Time Machine のバックアップの便利さと、マシンを既知の状態に復元できる機能が気に入っています。Subversion リポジトリをバックアップするために別の戦略を採用しなければならないことは、あまり望ましくありません。
私は git を使用したことがありませんが、検討します。