開発時、過去のソースと現在のソースを比較したくなる事は結構あると思う。
そんな時の為、昔は「変更前のコードをまるごとコメント化」みたいな事をしていた訳だけど、最近はGitやSVNのようなバージョン管理が出てきたので、ソースに残さずなんとかなるようになってきた。
このソースコードの差分だけど、monodevelop上から確認することができたらしい。
■Monodevelop上で過去のコードと比較する
差分を確認するには、まず前提条件としてソースコードが「バージョン管理」されている必要があるみたい。なので、まずはバージョン管理に登録してやる必要がある。
なお、自分の環境のGitの設定はこんな感じ。
[Unity3D]Unity+Bitbucketでプライベートリポジトリを使ってみた
http://terasur.blog.fc2.com/blog-entry-171.html
後は簡単、画面下の「Change」ボタンを押せば、上の画像のように過去にコミットしたバージョンと現在ローカルに保存しているバージョンの差分を作成してくれる。
表現はコードの緑が追加部分、赤が削除部分、青が変更部分になる。またこの部分の「x」や「>>」のボタンを押すと、対応するコードをマージすることができる。
■一部の機能は日本語文字化けする事がある
残念なことに、他のmonodevelopから利用するのは微妙に面倒になっている。具体的には日本語表記が文字化けする。
例えば、Blame(どのコードが何時のバージョンで更新されたかを一覧表示する感じの機能)では、「誰が」「何時」更新しコミットしたかは出るのだが、一覧に表示されているコミットコメントが文字化けする。(カーソルを合わせた時に表示されるコメントは文字化けしない)
またMergeでは日本語が文字化けして読めない等もある。
コードを編集しながら確認できるので便利なのだが、場合によっては不便になるような気もするので、状況によりけりでバージョン管理標準の差分ツールを使ったほうが良いかもしれない。
自分の環境ではGitしか試してないけど、アセットサーバーやSVNでも機能するのか興味があったり。アセットサーバーは自分の環境では試すことは無いと思うけど、SVNはその内試してみたい。