概要
VisualStudio 上でのプログラム開発においても、mercurial でのソース管理をしたくなりました。
調べて見たら VisualHG というプラグインでそれが実現できるということだったので、さっそく試してみた次第。
VisualHG とは
Windows のエクスプローラーと連携する merucurial 実装である TortoiseHg をバックエンドとして、それを VisualStudio 上で利用できる様にするフロントエンドプラグインです。
コミットや同期など良く使う動作が VisualStudio の上から行えるので、フォーカスを離れる事無く開発に集中することができるようになります。
予め mercurial で管理されているリポジトリ下にあるソースコードを開くと、VisualHG が起動して管理状態を表示してくれるようになります。
インストール
予めお使いの Windows 環境に TortoiseHg がインストールされている必要があります。
Windows で mercurial を利用するための必須アイテムですので是非インストールしてください。
VisualStudio の「拡張機能と更新プログラム」で、オンラインギャラリーを 'visualhg' で検索すると見つかります。そこからダウンロード&インストールして VS の再起動をしてください。
使い方
VisualStudio の「オプション」から「Source Control」を選択し、ソース管理プラグインとして 'VisualHG' を使う様に設定します。
予め mercurial のリポジトリで管理されている VSソリューション&プロジェクトを読み込むと、ソリューションエクスプローラ上にソースコードの管理状態が表示されるようになります。
ツールバーに VisualHG のツールバーを表示させておくと便利です。
左から「コミット」「状態」「ツリーブラウザ」「同期(push/pull)」「アップデート」と良く使う 5つが並んでおり、大体このツールバーで事足ります。
それ以外は File メニューやソリューションエクスプローラのコンテキストメニューから利用できますが、TortoiseHg を直接使う場合に比べあまりできることは多くありません。
コミットしたくないファイルの指定
リポジトリディレクトリに ’.hgignore’ という名前のファイルを置いておくと、commit 時に表示しないようフィルタリングができます。
VisualStudio の個人環境ファイルである *.suo はコミットしたくないものですので、予め書いておくと便利です。
.hgignore
syntax: glob *.suo
Bitbucket をリポジトリにするには
VisualStudio で新規ソリューション&プロジェクトを作った後それを mercurial で管理しようとした場合、VisualHG のみでの操作では実現できないと思います。VisualHG はあくまで既に mercurial で管理されているツリーを開いた時に使えるものなので。
なので新規プロジェクトに対しては TortoiseHg でリポジトリにする必要があります。
ソリューション&プロジェクトがあるディレクトリで hg init やそれに相当する操作をすればローカルリポジトリが作成され他のサーバーを持たないローカルコミットができるようになります。
一人プロジェクトではこれだけで良い気がします。
ソール管理ツールの醍醐味としては Bitbucket 等のネットワーク上にリポジトリを置いて作業をしたくなるものですが、ローカルにリポジトリを作ってしまうとそれをネットワークに持っていくのが困難になります。
良くわかっていないのだけれども、ローカルのツリーを他のツリーにマージってできるのかな?
取りあえず、Bitbucket のWEBページで新規リポジトリを作成し、空っぽのリポジトリをローカルにクローン。できたリポジトリにソリューションをコピーした後 ADD してリポジトリでの管理開始、としてみました。
このへん良いやり方があったら教えてください。