MacにNetBeansでMercurialその3 - ローカルリポジトリと公開リポジトリ

昨日は危うく挫折しそうになりましたが、せっかくなのでもう少しNetBeansMercurialを試してみたいと思います。

昨日何度か私が試してみたコミットの結果は、コミットしたファイルを右クリックして「ローカル履歴→ローカル履歴を表示」で確認することができました。

むむむ。

ローカル履歴のほうかぁ・・・以下のサイトにあるように、

Mercurialではマスターとなる公開リポジトリを作って、そこから各作業者が自分用のリポジトリを「クローン」して分散管理を行うということは知っていたのですが、今回の場合は私が適当にNetBeans上でリポジトリを作ったので、NetBeans上のリポジトリがマスターであり、クローンであると思っていました。

というかそもそも、CVSSubversionと違って、Mercurialにおける「コミット」とはあくまでもローカルリポジトリへのコミットであるらしいので、当然といえば当然か・・・加えて言うなら、Eclipseだとバージョン管理対象のファイルに変更を加えたり、コミットを加えたりするとファイルの横のマークが色々と変わったり、ファイル名の右横あたりに最後にコミットした人の名前やコミット時間が書いてあったりと視覚的に分かりやすかったのですが、NetBeansでは編集しようがコミットしようがプロジェクトウィンドウには視覚的な変化は無いらしい。微妙に分かりにくいような気がするのですが、それは私がNetBeans慣れしていないからなのでしょうか。加えて言うと、「ローカル履歴」の表示画面で、ある時点の履歴と現在のソースとの差分を確認できるのはよいのですが、履歴同士の差分を確認するにはどうすればよいのだろう??Eclipseだと、履歴を二つ選んで「相互比較」なんてのをやると出て来るのですが。

むむむ。

とりあえず、CVSSubversionMercurialの用語の違いを整理してみよう。

CVS/Subversion Mercurial NetBeans上の表記 その意味するところ
チェックアウト クローン クローン 公開リポジトリからのリソースの取得
コミット プッシュ 発信 ローカルリポジトリのリソースの変更を公開リポジトリに反映する
更新 プル 着信 公開リポジトリのリソースの変更をローカルリポジトリに取り込む
当該概念無し コミット コミット リソースの変更内容をローカルリポジトリに反映する
当該概念無し リバート(revert/差し戻す) 元に戻す リソースの内容をローカルリポジトリのある時点に戻す

とりあえず、こんなところ・・・の、ような気がする。なんとなく違いを整理したところで、次回は

上記サイトを参考に、公開リポジトリを作成してNetBeans側からクローン・プッシュ・プルをしてみたいと思います。どうやら上記サイトによると、MercurialでもSubversionみたいにApache経由で公開してBASIC認証を利用してプッシュ時に認証を行うようなことをするみたいなので、それも試してみたいと思います。