浸透的なバージョン管理
2006年8月21日
Appleは最近、Time Machineを発表しました。Time Machineは過去に戻ってファイルの変更状況をすべて確認し、削除されたファイルを見つけることができる機能です。このような機能は、一部の熱心な技術愛好家にとっては新しいものではありません。筆者は他の多くのユーザー同様、作業ディレクトリ全体をバージョン管理、当初はCVS、現在はSubversionで管理しています。これにより、作業対象のすべての変更状況を簡単に確認できるようになりました。この機能はとても便利なので、以前からMoreVersionControlのようなものができたらどのようなものだろうかと思っていました。Time Machineはその方向への一歩なのかもしれません。
Time Machineは自動化されたバックアップシステムとみなされているため、バージョン管理システムが提供するような意図的なコミットの概念をサポートしているようには見えません。少なくとも最初は、人々がこのようなシステムのアイデアに慣れるために、この方法が最適だと思います。時間ベースのブラウザは興味深く見えます。バージョン管理システムではユーザーインターフェイスの再考が必要であり、これに関してAppleが最善の策を講じてくれるでしょう。
より重要なステップは、より広範にこの機能を利用できるようにすることで、アプリケーション開発者に刺激を与えることだと思います。MoreVersionControlでは、diffやマージを知っているアプリケーションが不足していると述べました。Time Machineは人々にそれについて考えさせ、そのような機能のアプリケーションへの組み込みを促すようになるでしょう。これにより、バージョン管理はさらに便利になります。
バージョン管理は1つのデスクトップで便利ですが、この機能を使用したことがある人なら誰でも分かるように、真のメリットはそのコラボレーションにあります。ソフトウェアプロジェクトでは、バージョン管理システムをコラボレーションツールとして使用することで、非常に大きなメリットを得られます。プレゼンテーション、ホワイトペーパー、Excelモデルなど、その他の活動もバージョン管理されたコラボレーションツールからメリットを得ることができます。(ここで再び、インテリジェントなdiffとマージの欠如が大きな障害となっています)筆者のように孤独な人間でさえ、MultipleDesktopsで大変重宝しています。
筆者は、Time Machineがバージョン管理に対応したアプリケーションの開発を促進し、そのメリットを活用できるようになり、その後さらに効果的なコラボレーションに移行することを期待しています。しかし、いずれにせよ、今すぐ試してみることを強くお勧めします。Subversionは無料で簡単にセットアップでき、アプリケーションはdiffやマージを適切に行えませんが、共有バージョン管理リポジトリを使用して他の人とコラボレーションすることにより得られるメリットは価値があります。メールでドキュメントを追跡したり、バージョン管理されていない共有ドライブを使用したりするよりもはるかに優れています。