プログラムなどのデータを複数の人や複数のコンピュータで扱うと、データの管理が困難になります。最新のデータがどれかわからなくなったり、どれを更新したのかわからなくなります。
高校の課題研究の時それが実際に起こり、その作業に10分くらい時間を取られました。
どれが最新なのかやどれを更新したのかを管理することを、バージョン管理と言ったりします。今回使ってみたソフトウェア Subversion(略してSVN) は、その作業を簡単にさせるソフトです。オープンソースソフトウェアでよく利用されているようです。
Subversion で何ができるかということなんですが、リビジョンをつけることができます。誰が改訂したのかとか、最新版はどれかなどを区別することができます。誰かが間違って削除したとしても、すぐに以前のバージョンに戻すことができます。
私の場合は、パソコンが2台でVisual Studioによるプログラミングをしています。ローカルネットワークに接続している場合は、ファイルサーバで作業をすれば共有することができます。しかし、ノートパソコンを独立させてしまうと、ハードディスクやUSBメモリにコピーしなければいけないので、最新版がわからなくなります。また、プログラムをロールバックさせたいとき、ファイルサーバで作業している場合は、それが不可能です(シャドウコピーは12時間間隔なので戻りすぎる)。
Subversionを使ったら、これがすべて解決しました。
Subversionは、リポジトリ(=ファイルのデータベースとその実体の保管庫)で管理しています。これを、共有しているサーバに保存しておけば、どこからでも参照することができます。今回は、私一人で開発しているので、ローカルネットワークのファイルサーバに保管しています。Webサーバに保管することも可能なので、大勢で場所が離れている時に便利そうです。
実際に作業するときは、リポジトリからデータを入手して、ローカルにコピーを取り、それをリポジトリに書き込みます。ここで、データを入手することを「チェックアウト」といい、書き込むことを「チェックイン」または「コミット」といます。この2つの作業で、最新版を取得・転送したりできます。
チェックインするたびに、リビジョンがインクリメントされる(0から+1ずつされる)ので、リビジョン番号を使ってバージョン管理が可能です。また、リビジョン番号を使って特定のバージョンにチェックアウトすることも可能です(つまり、以前のバージョンに戻すことが可能)。
なかなか便利なソフトで、これから常用しそうです。高校の時に気づいていれば良かったです。
コメントする