secretbase.log

.NET/C#/Pythonなど

PyCharm と Mercurial の連携

本日の #TokyoMercurial で少し PyCharm と Mercurial の連携について調べてみました。diff画面がなかなかカッコイイので紹介します。

試したバージョンは、下記です。

準備 (hg init相当)

PyCharm上でリポジトリをつくることもできます。プロジェクトを普通に作成し、その後リポジトリに追加する手順です。
f:id:cointoss1973:20131019175619p:plainf:id:cointoss1973:20131019175624p:plainf:id:cointoss1973:20131019175636p:plainf:id:cointoss1973:20131019175642p:plain

ファイル追加 (hg add 相当)

普通にファイル追加すると、リポジトリに追加するかどうか聞かれます。追加すると もちろん hg add されます。
f:id:cointoss1973:20131019175649p:plainf:id:cointoss1973:20131019175656p:plain

差分 (hg diff)

コミットする前には差分を確認しますが、PyCharm上でリポジトリとの差分を確認ができます。
いくつかコミットしたり新規に追加したりすると下記のような差分表示となります。
青色が変更点で、緑色が追加の箇所。なかなかわかりやすい表示ですね。
f:id:cointoss1973:20131019175827p:plain
新規登録の場合は下記の表示。
f:id:cointoss1973:20131019175835p:plain

ちなみに、TortoiseHg+Winmergeだとこんな感じの差分表示になります。
f:id:cointoss1973:20131019175844p:plain

コミット (hg commit)

基本的にはファイルやディレクトリやプロジェクトを右クリックすると出てくるMercurialのメニューから Commit メニューを選択すればOKです。
コミット時にいろいろ選べるようです。
f:id:cointoss1973:20131019175854p:plain

ファイルの状態 (hg status)

ファイルの色で状態がわかるようです。
青が変更で、緑が追加。diffの表示の色と同じです。
f:id:cointoss1973:20131019180240p:plain
TortoiseHgを使っているのでピンと来ない表示ですが慣れてくると色で状態がわかってくるのかもしれません。

まとめ

今回できなかったこととしては、push/pullや、作業領域の切り替えなどありますが、通常頻繁に使う操作だとdiffを見ることが多いと思います。ファイル追加とdiffはエディタの延長で自然にできる感じがします。

また、PyCharm側でLocalHistoryとして変更履歴がありまして、ここからRevert(変更内容の復旧)ができるので頻繁なコミットをしなくても良いので便利かもしれません。
f:id:cointoss1973:20131019181657p:plain