6

log4j.propertiesねえ、バージョン管理下にあるプレーンな webapp を想像してみてください。svn:ignore必須ファイルなので追加できません。開発用のカスタム変更を行い、それらをコミットしたくない場合は、誤ってコミットしないように注意する必要があります。1 つのファイルの場合は扱いやすく、3 つ以上のファイルがあると不気味になります。

これらのファイルを svn commit から一時的に無効にする方法はありますか? それで、コミットするのは簡単ですか?私はと働いていsvnますsubclipse

4

3 に答える 3

10

このような状況を処理する一般的な方法は、次のことです。

  1. テンプレートであることを示す名前で、ファイルのコピーを作成します
  2. テンプレートをリポジトリにコミットします
  3. 元のファイルを無視する

このようにして、新しいコピーを配置し、展開中にテンプレートから実際のファイルにファイルをコピーして戻すことができます。

このようにして、このファイルに悪い変更をコミットするリスクはありません。少なくとも他のバージョン管理システムでは、誰かがファイルをチェックアウトしてロックを忘れるリスクはありません。

Subversion には、ファイルが初回コミットのみのタイプのものであることを示す方法がないため、リポジトリに追加したときに、そのファイルの変更を追跡するように Subversion に指示しました。このファイルへの変更をコミットしないように手動で (またはツールを作成するか、ツールを変更して) いない限り、Subversion は役に立ちません。

于 2010-05-06T07:41:58.930 に答える
7

この問題に対する私の解決策は、svnサーバー上に新しい(ちょっと仮想の)ユーザーを作成し、彼をすべてのプロジェクトに追加することでした。彼をLockerと呼びましょう。そこで、コードベースで変更してはならない構成ファイルに、ユーザーLockerとしてロックを設定しました。

Etvoilà!ファイルが誤ってコミットされることはもうありませんが、本番システムで構成ファイルの更新が必要な場合は、チームメンバーがロックを強制したり、ロッカーの資格情報を知っている人がファイルを更新して再ロックしたりできます。

多分それはすべての人にとっての解決策ではありません、いくつかの会社の規制はプロキシユーザーの使用を禁止するかもしれません。

于 2012-10-18T09:52:05.890 に答える
1

たとえば、log4j.properties.server という名前のファイルを作成し、デプロイ スクリプトを設定して、通常のファイルではなく .server ファイルをコピーします。

于 2010-05-06T07:43:10.213 に答える