設定ファイル類のバージョン管理

開発者ごとに変更したりする設定ファイルの類いをSubversionでバージョン管理するとき困るのが「ローカルの変更が誤ってコミットされる」という問題。たとえば 開発者ごとにDBユーザ割り当ててる場合の接続先設定とかそういうの。

Subversionの公式FAQを見ると

私のプロジェクトには各開発者が変更しなくてはいけないファイルがありますが、そのようなローカルでの変更をコミットされたくありません。"svn commit" にファイルを無視させるにはどうすればいいですか?

http://subversion.tigris.org/faq.html#ignore-commit

というドンピシャの質問があるんだけど、回答は「テンプレートファイルをバージョン管理して、それを開発者にコピー・編集させろ」とのこと。

う〜ん。でも、update はしたいんですよ。たまにその設定ファイル自体に項目が追加されたりすることがあったりするから。テンプレート形式だと、テンプレートが更新されたら開発者全員に「テンプレが更新されたんで設定ファイル作り直してくださ〜い」とかお知らせしないと気づきませんよね普通。設定ファイル自体がバージョン管理下にあれば、知らせるまでもなく update で更新を取り込んでもらえるのですが。

コミットミスが避けられないのと更新頻度を勘案して大体はテンプレ形式でやってるけど、svn:ignore-commit 属性があればいいのに…といつも思う。