misc.log

日常茶飯事とお仕事と

Subversionを使った開発環境の作成(with Visual Studio 2010)

Visual Studio 2010とSubversionを使って、ソースの管理と開発を行える環境を作る必要がありそうなので、ちょっとネタ集めをしています。

ソース管理

Visual SourceSafeが社内的には最も実績が多いはずなのですが、何故か「社員で使える人がほとんど居ない」のが実情。実際にはほとんど機能を使いこなしていなかったり、VSSを使いながらも「コメントアウトした修正箇所」などの運用をやるなどといった惨状が今も見受けられるようです。加えて、Visual Studio 2008以降はTeam Systemに併合されてしまったので、とうとうサポートも切れてしまったとかって回覧が回ってました…。

そういうわけで、昨年からちょっと使う機会のあったSubversionを利用してみようかと。他にもいろいろ有るのですが、使っている人が周りに増えてきているようなので、安心感というメリットを重視てこれを第一候補にしてみます。

Apache Subversion
http://subversion.apache.org/

具体的な導入方法等は別途調べて、書けたら書きます。

Visual Studioとソース管理システムの統合

Visual SourceSafeは、マイクロソフト製品ということもあり、Visual Studioと連携してVisual Studio上からソースのチェックアウトやチェックイン(コミット)が行える機能が備わっていました。これに相当する機能がSubversionにも無いと、ソースを編集するたびに

  1. Visual Studioの外でソースを作業中状態にする。
  2. Visual Studioで変更する。
  3. Visual Studioの外でソースをコミットしてソース管理に戻す。

という手間を掛ける必要があります。プログラムを作らない人には、こういう手間を「やって当然だ、面倒でもやれ」という人も居るのですが、この「Visual Studioの外」というのが案外大変なのです。いちいち開発環境を保存して、閉じて、別のツールを立ち上げて、ソース操作を行って、再度Visual Studioを立ち上げて…という作業、1つの修正くらいであれば良いのですが、複数の絡み合った修正や、新規作成作業などをやっていると、こうした「流れの中断」は思考の中断に繋がり、思考の切り替えオーバーヘッドが出てきて作業がジワジワと遅れます。また、実際、面倒な作業は誰しもやらなくなりますし、最終的には「ソース管理とかダルイから、最初に全部取り出して、自分達で共有フォルダとかで作業してから戻せばいいじゃん?」みたいな本末転倒な事態になったりします。これは、サボりとかやる気がとかそういう問題ではなく、単純に「そのほうが効率が良いから」という動機で行われるため、本人や周辺に悪気が無いという厄介な状態です。

そんな無駄な作業や将来的に下手な運用に陥るリスクを回避するためには、Visual StudioSubversionを連携させる機能を用意するのがベストです。というわけで、それには「AnkhSVN」と呼ばれるツールを使えばいいようです(なんて読むのだろう…)。実際、昨年1年の作業でも知らずのうちにこれを使っていました(環境作ってくれた人ありがとう)。

ダウンロードは以下のサイトからできます。

AnkhSVN
http://ankhsvn.open.collab.net/

Subversionの操作を簡単にする

上記のように、面倒な作業というのは誰しもやりたくないわけで、出来れば簡単な方が手順も定着しやすいものです。Subversionの操作はどうやらSVNと呼ばれるコマンドで行うのが標準のようなのですが、これもいちいちコマンドプロンプトを起動して、コマンドやパスを間違えないように手打ちして…というのは面倒です。

そうした煩雑な手間を、Windows Explorer上でマウス操作によって実現するプラグインが出ています。Tortoise SVNと呼ばれるものです。読みは「トータス」、亀という意味です。これを使えば、Windows Explorerじょうでマウス右クリックにより表示されるメニューに「SVNからチェックアウト」といった項目が追加されます。

これも昨年1年使ってみましたが、正直なところ、私自身はこれしか使ったことが無いため、これが無いとつらいですね。

Tortoise SVN
http://sourceforge.jp/projects/tortoisesvn/