Mercurial でのコミットで一部のファイルへの変更を無視する方法はありますか?
127.0.0.1 を指すデフォルトの oracle tnsnames.ora ファイルがある特定の状況がありますが、一部の開発者はそれを変更して他のシステムを指すようにしますが、デフォルトのファイルを変更したくありません。
Subversionでは、これをignore-on-commitチェンジリストに簡単に追加しました。Mercurialでこれを行う方法はありますか?
従来、これはファイル自体をバージョン管理するのではなく、他のユーザーが使用できるようにそのコピーをテンプレートとしてバージョン管理することで解決されていました。
したがってhg mv tnsnames.ora tnsnames.ora-template、コミットしてから、tnsnames.ora-template を tnsnames.ora に直接ファイルシステム コピーし、tnsnames.ora を .hgignore ファイルに追加します。
テンプレートへのその後の変更は引き続きプッシュされますが、実際のファイルにテンプレートをコピーしない限り、作業環境が実際に変更されることはありません。
'hg commit -X exclude_file.ext' のようなものに commit をエイリアスすることができます。
Mercurial のドキュメントで .hgignore ファイルを探します。
無視ファイルの例を次に示します。
# use glob syntax.
syntax: glob
*.elc
*.pyc
*~
# switch to regexp syntax.
syntax: regexp
^\.pc/