*

* SVN Index   * Tips   * Top

Subversion(TortoiseSVN)でネットワーク共有フォルダ(ファイルサーバ)上のファイルをバージョン管理する方法(手順)

バージョン管理したいというのは、プログラムに限った話ではありません。 ネットワーク共有フォルダ(ファイルサーバ)上の 文書ファイルだって同じようにバージョン管理したいって思いますよね。

これを実現させようとしたときにひとつの問題に気がつきます。 リポジトリが大きくなってくると、 それをチェックアウトするための各個人個人が使うPCのすべてに、 膨大なディスクを用意する必要があります。でも、 そんなに大容量のディスクを人数分用意するなんて、現実的ではありません。

(ご注意) このページをご利用になった結果の影響については、 一切責任を負いませんので、あらかじめご了承願います。
以下に記載の内容は、特に耐久テストなどが実施されたものではありません。 充分注意のうえ、利用してください。 Berkeley DBリポジトリでは対応できないなど制約もあります。 「Subversionによるバージョン管理」 にも注意点が記載されています。 ←おそらくこの条件はリポジトリをネットワーク共有フォルダへ置く場合ですね。 作業コピーをネットワーク共有フォルダへ置くことについては特に触れられていないと思います。 (2008.11.12)

  1. バージョン管理システムの背景
    もともとバージョン管理のソフトウェアは、 プログラムのバージョン管理をするところから話が始まっています。 基本的な思想は、サーバ上のファイルを自分のPC(ローカル)へ取ってきて、 あくまでも編集は自分のPCでする。できあがったらサーバへ入れる。 Subversionはもちろん、PerforceやVisual SourceSafeでも同じことです。 プログラム・ソースから実行可能ファイル(拡張子がEXEなど)を作るまでには おびただしい数の中間ファイルができます。 こんなに大量の作業ファイルをネットワークドライブに作っていては たまったものではありません。 ものすごく時間がかかるし、 それ以前に同時に1人しか作業ができないことになってしまいます。

  2. 文書管理
    一方の文書ファイルは、ファイルを作ればそれで完成です。 たくさん中間ファイルを作って、変換作業をすることなどは通常ありません。 最も簡単な方法として、ネットワーク共有フォルダ(ファイルサーバ)を用意して、 そこへファイルを入れていくことになるわけです。

  3. 文書ファイルのバージョン管理
    やりたいことは、このネットワーク共有フォルダ(ファイルサーバ)上のファイルを Subversion(TortoiseSVN)でバージョン管理することです。 しかし、リポジトリを作ってしまうと、 いちいちそのファイルをチェックアウト(ローカルへ取ってくる)の作業が発生するので いまひとつ利用の方法がスマートでなくなってしまいます。 編集を自分のPC(ローカル)ではなく、 これまでどおりファイルサーバ上でやるにはどうしたらよいでしょう‥‥?

  4. 手順(管理者)
    これまでファイルサーバで管理してきたファイルのうち、 バージョン管理したいものを入れられるSubversionのリポジトリを プログラムのリポジトリと同じ手順で作成します。 そして、初期バージョンの内容があればインポートしておきます。 ここは何も変わりがありません。ここからが肝心です。 リポジトリの内容を、各作業者のPCではなく、 これまでのネットワーク共有フォルダ(ファイルサーバ)の あった場所にチェックアウトします そして、利用者全員がこの作業フォルダを共通で使用します。 なお、クライアント間でのSubversion(TortoiseSVN)のバージョンが大きく異なっていると、 Subversionが「.svn」フォルダが読めずにエラーになる場合があります。 ある程度バージョンが一致するように バージョンアップの連絡などをしながら運用するようにしてください。

  5. 手順(ユーザ)
    Subversion(TortoiseSVN)はインストールしてあって、 使えるようになっていることが前提です。作業の内容は、
    (1) これまでどおりネットワーク共有フォルダ(ファイルサーバ)上のファイルを編集して保存する
    (2) コミットする
    これだけで終わりです。作業はそんなに煩雑にならないし、 コミットを忘れていたらアイコンの色が変わっていることで気がつくことができるので、 利用者にも受け入れてもらいやすいのではないでしょうか? もちろん、この方法は同時に1人しか編集はできません。 でも、もともとネットワーク共有フォルダ(ファイルサーバ)で管理していたものなので、 条件は何一つ変わっていません。Microsoft Officeなどをはじめ、これまで通り アプリケーションの排他制御にお任せしましょう。 もちろん、作業場所が1箇所なのでコミットしたあとに毎回更新する必要もありません。

  6. ネットワーク共有フォルダ(ファイルサーバ)上のファイルのアイコン表示
    ひとつ気がつくことがあります。 ネットワーク共有フォルダ(ファイルサーバ)上のファイルは、 デフォルトでTortoiseSVNはアイコンを表示しません。遅いからです。 イントラネットなど規模の小さいものであれば、 便利なのでアイコンを表示させるとよいのではないでしょうか? それぞれの環境においてのネットワーク資源と相談して決めてください。 コンテキストメニュー(右クリック)より、[TortoiseSVN] → [設定]を選択します。 画面が表示されたら、[アイコンオーバレイ]を選択します。 ドライブの種類で、[ネットワークドライブ]を「あり」にしてください。


shacho@critical.ne.jp
Last modified: Wed Nov 12 23:00:00 JST 2008