MPLAB X IDEでMercurialを使う。

PICプログラミングですが、この先に進む前にMPLAB X IDEからバージョン管理システムを使えるようにしておきます。
個人の好みでVCSはMercurialを使います。理由は、自分にとっては使いやすい点とPythonだから、それとGitはPerlだしあまり馴染んでないから、です。もともとNetBSDがVCSとしてCVSを使っていた経緯から、CVS→Subversion→Mercurialというふうに自分で使うVCSを変えてきているので、その流れだというのもあります。当然ながらチームプロジェクトでない限りは自分の使いやすいものを使うのが一番なので、どれを選んでもよいとは思います。

まず、MPLAB X IDEのベースとなっているNetBeans IDEのNetBeans IDEでのMercurialサポートの使用(日本語)を参照します。
IDEのMercurialサポートを活用するためには、システムにMercurialクライアント・ソフトウェアをインストールする必要があります。IDEがサポートしているMercurialクライアントのバージョンは1.04以降です。IDEのMercurialサポートは、Mercurialのコマンド行インタフェースと同じコマンドで動作します。
ということで、Mercurialのダウンロード、もしくはTotoiseHGのダウンロードからインストーラをダウンロードしてインストールします。
ちなみにどちらを選んでもTortoiseHGのMSIインストーラがダウンロードされるようです。

インストールしたら、PATHが通っていることを確認します。コマンドプロンプトなどを立ち上げ、"hg" とタイプしてみます。hg がちゃんと実行できればOKです。

そうしたら MPLAB IDE X の "Tools"→"Options" から "Versioning" タブを開き、"Mercurial" を選択してパスを設定します。

次にリポジトリを作成しますが、その前に $HOME に .hgrc ファイルを作成しておきます。Windowsの場合には "%USERPROFILE%\Mercurial.ini" になります。設定ファイルの中身は以下のようなものです。
# Generated by TortoiseHg settings dialog

[tortoisehg]
ui.language = ja
vdiff = winmergeu
shell = "C:\Program Files\ConEmu\ConEmu64.exe"
tabwidth = 4
maxdiff = 0
editor = notepad++

[ui]
username = Taro YAMADA
editor = notepad++
merge = winmergeu

[extensions]
win32mbcs = 
TortoiseHG から "Global Settings" を開く(フォルダアイコン上で右クリックして "TortoiseHG"→"Global Settings")とユーザ設定を編集できます。
まず「コミット」のタブで名前を設定します。emailアドレスはあってもなくても問題ありません。チームプロジェクトならあったほうがいいでしょう。「TortoiseHG」のタブで同様にUI言語やGUIエディタ、マージツールを指定できます。マージツールは TortoiseHG と一緒にインストールされる kdiff3.exe でもいいですし、他のツールでもよいです。自分は WinMerge を使っています。
それから、日本語を含むファイルパスを使用する可能性がある場合には、「エクステンション」タブの一番右下の方にある "win32mbcs" にチェックを入れます。
他にも設定項目はいろいろありますが、基本的にはデフォルトのままでOKです。
このダイアログで設定すると、設定した内容で Mercurial.ini ファイルを %USERPROFILE% に作成します。

設定ファイルを作成したら、コマンドプロンプトを開いてプロジェクトディレクトリに移動します。今回は CuriTouch2.X というディレクトリで作業していますので、そこに移動して
$ hg init
します。すると .hg というリポジトリデータを格納するディレクトリが作成されます。

次にファイルの追加を行います。が、どうも MPLAB X IDE からでは直接はできないようで、Projects" タブのファイル名の上で右クリックして "Mercurial" のサブメニューで "Add" がグレーアウトしています。なのでエクスプローラからファイル名を右クリックし、"TortoiseHG"→"View File Status" するとダイアログが出るので、そこから追加していきます。
まず、一番下の「フィルタをクリアしてルートを表示」ボタンを押すと、そこにあるファイルのステータスがずらっと表示されます。そこからファイルを選択して右クリックして「追加」を指定すれば、リポジトリに登録するためのフラグが付けられます。

基本的に自動生成されるファイルは登録しません。今回はMCCの生成するファイルで、いじるものを対象とします。登録した後でMCCに上書きされても、差分からもとに戻すことができるようにするためです。当然、コンパイラの吐き出す中間ファイルなども登録しません。
ファイルの選択が終わったら「コミット」ボタンを押します。コミットしないとリポジトリに格納さないので、これは確実に行います。
すると、MPLAB X IDEでのファイルの表示が変わります。
今回登録しなかったファイルは "[ignored]" から "[New]" に変わってますし、登録したものはステータスが消されています。
ちなみに、"[New]" のファイルで右クリックして "Mercurial" のサブメニューを見ると、"Add" が選択できるようになっていますので、もしかしたら1つだけでも登録すれば "Add" できるようになるのかもしれません。

これでバージョン管理システムの導入が終わりました。

0 件のコメント:

コメントを投稿

WesternDigitalこわれた。

たぶん寿命を過ぎてるのでクレームとまではいかないのだけれど。 WesternDigitalのWD60EFRXが壊れました。モノは2014年11月に購入。ところが3年で壊れ、RMAにより2017年11月に交換したものです。BlackBlazeでも故障率がそれなりに高かったので、そう...