13th Thu
リポジトリへのCommitもれを防ぐ方法
複数人で開発している場合に、新しく作成したファイルをsvn addし忘れて、Commitもれを発生させてしまうと、
テストが走らなかったり、開発を止めてしまったりと、
様々な悪影響が発生してしまいます。
今回は、Commitもれを防ぐために僕が使ってる方法を紹介します。
やってることは単純で、以下のalias設定を.zshrcに登録しています。
shell>>
alias svn_new='svn stat | grep "^?" | sed "s/? tmp.//" | sed "s/? log.//" | grep .'
<<--
svn statの結果から、log/とtmp/ディレクトリの中身を除外してるだけですね。
あとは、svn_newコマンドを実行すれば、svn add
し忘れてるファイルが無いかどうか簡単に確認できます。
しかし、実際にはconfig/database.ymlやtagsファイルなど、svn addする必要が無いファイルがだんだん増えてくるので、
そのような場合には適切にsvn:ignoreプロパティを設定していきます。
僕は、手間を省くために、以下のようなzsh関数を作って使っています。
~/.zshrc
shell>>
svn_ignore () {
svn pset svn:ignore -F <(echo $1 && svn pget svn:ignore | sed '/^$/d') $2
}
<<--
使い方はこんな感じです。
shell>>
% svn_ignore something_new_file ./
<<--
svn:ignoreに設定されたファイルは、svn_newに出てこなくなります。
更新履歴
- 2007/12/14 CometのやりすぎでComitになっていたのでCommitに訂正。
posted by
genki on Thu 13 Dec 2007 at 12:45 with 0 comments