2

アプリケーションには、特定の場所に配置する必要がある開発設定ファイルがありますが、マシンごとに内容が異なります。

私たちがやりたいことは、ファイルの「ベース」バージョンをリポジトリにコミットすることです。これは誰でもチェックアウトできますが、Subversion はファイルへの変更を無視して、他の人がチェックインするのを防ぎます。このようなことは可能ですか?

助けてくれてありがとう!

4

3 に答える 3

3

いくつかの解決策

  • Windows 専用の TortoiseSVN ソリューション (クライアント側のツールについて言及していませんでした)

ignore-on-commit チェンジリスト TSVN 機能を使用する (はい、すべてのクライアントで)

  • ロックファイル

広く使用されていませんが、ロック モデル (ブランチ マージの代わりに) は Subversion にまだ存在します。ファイルをコミットしてロックできます (ロックを解除することはできません)。特別な「ロッカー」ユーザーの下でロックが実行される場合、誰も誤ってロックを解除することはできません


妄想暴走の権利について

  • SVN クライアントとしての Mercurial

hg ci -X filenameファイル名が変更された場合でも、コミットされた変更セットからバージョン管理されたファイル名を除外します。ci -X は通常の ci の置換エイリアスとして定義できます。

于 2012-11-23T18:25:58.230 に答える
1

これは不可能だと思います。

svn ignore通常、プロセスは、異なる拡張子と通常の拡張子を持つファイルの「配布」バージョンを作成することです。新しいチェックアウト時に、「dist」ファイルを最終的な名前に手動でコピーする必要があります。

私はこれをメイクファイルの設定によく使用します。

  • makefile.conf.dist -- コミットされた基本バージョン
  • makefile.conf -- ビルド システムによって読み取られた、コミットされていない実際のファイル

単一のマシンでこれを受け入れることができる場合は、この質問を見てください。

于 2012-11-23T17:09:20.657 に答える
1

私はたまたま、あなたが望むことを正確に実行するpre-commit フックを持っています。このファイルを変更できるのは自分だけです。また、ファイルに適切なプロパティが設定されていることを確認し、名前に基づいて新しいファイルを完全に禁止することもできます.

すべての Unix および Linux ディストリビューションに付属する Perl と Mac が必要です。Perl for Windows も入手できます。このフックには、非標準の Perl モジュールは必要ありません。ただし、Net::LDAP (オプションのモジュール) を使用できるため、LDAP グループに従って権限を設定できます (Windows Active Directory を使用する場合と同様)。

于 2012-11-23T17:42:27.877 に答える