読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Vim scriptでSVN commit時にdiffの結果を追加表示する方法

Vim

入門vi 第6版入門vi 第6版
リンダ ラム,アーノルド ロビンス,Linda Lamb,Arnold Robbins,福崎 俊博

オライリー・ジャパン
売り上げランキング : 96071

Amazonで詳しく見る by AZlink

はじめに


gitでコミットする際には、

git commit -v

でファイルの変更内容を確認しながら、

コミットメッセージを書くことができますが、

(参考:個人的 Git & GitHubメモ - MY ENIGMA)

svnでは同様の方法がわかりませんでした。


そこで、Vimを使って、

svnでもcommit時にdiffの結果を追加表示するスクリプトを作成したので

紹介したいと思います。

使い方

まず下記のvim scriptをダウンロードして、

myvim/svndiffandcommit.vim at master AtsushiSakai/myvim

自分のvimrcに下記のコードを追加するだけです。

(ファイルのパスは適宜自分の環境に応じて変更して下さい)

"SVN Commit時にsvn diffの結果を追加する
source ~/.vim/script/svndiffandcommit.vim


あとはコンソール上で、コミットしたい時に、

svn commit

とすれば、コミットメッセージを書くファイルに、

冒頭のスクリーンショットのような

svn diffの結果がカラーで表示されるはずです。


これでファイルの変更箇所を見ながら

コミットログを書くことができます。


ちなみに、下記のリポジトリは自分のvim設定ファイルですが、

これをそのままcloneしても使えます。

AtsushiSakai/myvim

参考資料

実践Vim 思考のスピードで編集しよう!実践Vim 思考のスピードで編集しよう!
Drew Neil,新丈径

アスキー・メディアワークス
売り上げランキング : 37452

Amazonで詳しく見る by AZlink

入門vi 第6版入門vi 第6版
リンダ ラム,アーノルド ロビンス,Linda Lamb,Arnold Robbins,福崎 俊博

オライリー・ジャパン
売り上げランキング : 96071

Amazonで詳しく見る by AZlink