私の研究室*1では昨年1年間,こちらでファイルを「バージョン管理ソフトウェア」で管理し,みなさんにはWebブラウザを介して読めるようにしていました.
これからは,学生にも読み書きの両方ができるようにします.これにより,作成中のファイルを,研究室のサーバに寄託することになります.USBメモリなどとは別のバックアップ手段ともいえます*2.
使用するソフトウェアは,Subversionです.
Windowsで使用する際には*3,TortoiseSVNの最新版と,日本語のLanguage packをインストールするといいでしょう.
Subversionを使用するに当たり,必要な知識を挙げておきます.
- クライアント/サーバモデルで利用します.
- バージョン管理とは,「いつどんな変更をしたか」「いつファイルやディレクトリを作ったか」「いつファイルやディレクトリを削除したか」などを管理することです.
- この意味でのバージョンを管理しているのは,サーバ側にあり,そのデータは「リポジトリ」と呼ばれます.
- クライアントは,我々がふだん使用するPCです.こちら側に置くファイルは「作業コピー」と呼ばれます.
- クライアント/サーバモデルのおかげで,クライアント側では,過去のファイルやディレクトリの管理をしなくて済みます.作業コピーとしては,基本的に「最新版」のみを持っていればよいということです.
- Subversionでは,バージョンを通し番号で管理します.この通し番号を「リビジョン」と言います.
- リポジトリの「最新版*4」または「特定のリビジョン*5」のファイル(群)をクライアント側にダウンロードして,作業コピーを設置するestablish a working copyことを,「チェックアウト」と言います.最初に1回だけします.
- 作業コピーがすでにある状態で,その内容を,リポジトリの最新版のファイル(群)に変更することを「更新(アップデート)」と言います.これはよく使います.
- 作業コピーのファイルをいろいろ変更して,その内容を,リポジトリに送ることを「コミット」または「チェックイン」と言います*6.1回のコミットで,リビジョンが1増えることになります.リビジョンが多ければ多いほど,それまでにたくさん変更してきたことを意味します.
- 作業コピーのファイルをいろいろ変更して,コミットする前に,その変更を取りやめたければ,元に戻す処理ができます.「リバート」とも言います.リバートした後で,取りやめを取り消すことはできません.
- 作業コピーに「.svn」というのができますが,削除しないように.ここには,更新・コミット・リバートをするために必要なファイルが入っています.
だれもが読み書きできてしまうのは管理上よくありませんので,ユーザ認証を行っています.研究室の学生には,ユーザごとにアカウントを発行してお知らせします.