2009-09-22 9 views
3

リポジトリをチェックアウトしている人がフェッチするファイルをリポジトリに保持するトリックがあるのですが、何らかの明示的なアクションが実行されない限りリポジトリにコミットされることはありません。Subversionのリポジトリ(ローカルではない)に対してファイルを「コミットしない」とマークしていますか?

私が探しているのは、リポジトリに影響を与えずにローカルで変更できるデフォルト値を持つファイルを持つ方法です。

私は一種のこれを行うには、2つの方法を知っているが、私はより良い方法を探しています:

  1. は、開発者がコミットにファイルを無視チェンジを行うようにしてください。 (プロ:プロジェクトは詐欺、アウトオブボックスのコンパイル:。一部の開発者が誤って自分のローカル設定に関連する変更をチェックインするかもしれません)
  2. などの拡張子を持つリポジトリ内のファイルのコピーを保管してください.defaultまたは.templateとして作成し、開発者にコピーさせるようにします。 (プロ:変更をチェックインの危険性が不注意、詐欺:は、テンプレートファイルをコピーせずにコンパイルされません)

は、これらのソリューションのいずれもが、開発者からの追加のアクションを必要とし、私は怖いI誰もが正しい手順に従うと信じることはできません...プロセスを開発者に透過的にする方法はありますか?

+2

ああ、どのくらいの頻度でそのようなことをしたいですか? –

答えて

3

不幸にも、「は簡単で箱の外にはありません」という方法ではありません。

私は一般的に、.default拡張子のファイルに基づいて2)のソリューションを使用しています。

  • currectによって影響されているファイルの一覧を確認する
  • をコミット:可能かもしれない


    ソリューションは、しかし、希望はその、いくつかの事前コミットSVNのフックを使用することですあなたがテストを追加したい場合があり、いくつかの特定のファイルが安全措置として、そのリスト

にあり、場合は、1日、これらの「変更不可」のいずれかのファイルを変更する必要がありますように、コミットを拒否コミットコメントで:

それは「 FORCEは COMMIT」のようなものが含まれている場合
  • 、その後、コミットを拒否していない場合でも、それへの影響変更すべきでないファイルの一つ。

私はこの正確な状況をテストしたことはありませんが、「各コミットにはX文字よりも長いコメントが必要です」などの条件を保証するために使用されています。 ...


は、より多くの情報のために、あなたはImplementing Repository Hooksでとpre-commitを見てみることができます。

私は現在のコミットの影響を受けるファイルのリストを得ることができます... this articleを見ると、svnlookを使用している可能性があります。

+0

あなたの答えをありがとう。私はSVNに組み込まれたこのような機能を期待していました。なぜならローカルの設定ファイルを持つことは珍しくないからです...しかし、私はプリコミットSVNフックソリューションを念頭に置いて、おそらくそれを実装します! – Blixt

2

私はあなたのメソッド#2を使用し、ローカルファイルを作成するのに正しいことをした開発者をチェックする防御コードをアプリケーションに追加し、間違っていると警告します。

あなたのプロジェクトが私が取り組んでいるプロジェクトのようなものなら、新しい開発者が有効な作業ツリーを作成する前にチェックリストを用意している可能性があります。これをそのリストに追加し、アプリケーションが可能な限り正確性をチェックするようにします。

1

ファイルを正しい場所にコピーする事前ビルドアクションを使用して2番目の方法に従っています。拡張子を変更し、必要に応じて選択したビルド構成に従って変更します。この方法では、プロジェクトはすぐに構築されます。

関連する問題