1

バックグラウンド:

2つのUnity3dプロジェクトがあります。

  • Unityプリファレンスが「混合アセット」モードに設定されている最初のファイル(一部のファイルはテキスト、一部はバイナリ)および
  • プリファレンスが「テキストを強制する」に設定されている2番目(ほとんどのバイナリファイルはYAMLテキストに変換されるため、ほぼすべてのファイルをdiff編集できます)。

最初のプロジェクトのファイルをtext/binaryに設定するために、ファイルとそのsvnプロパティのリスト( * .csファイルがに設定されている、*。unityファイルがに設定されているなど)とともに~/.subversion/configファイルが有効になっています。svn auto-propssvn:eol-style=nativesvn:mime-type=application/octet-stream

問題:

2番目のプロジェクトはすべてのファイルに対してテキストモードをサポートするようになったため、 *。unityファイルがとして処理されるように別のauto-propsルールセットを使用する必要があります。svn:eol-style=native

プロジェクトごと(またはディレクトリごと)にどちらをgit使用できるかを確認したので、この機能を使用できます。.gitattributesSVNは、リポジトリで共有できるある種のファイルを使用してこれを実行できるので、コミットするすべての人が同じデフォルト設定を使用しますか?

4

1 に答える 1

2

gitではリポジトリと作業ディレクトリの間に実際の違いはないことを理解する必要があることの1つ。親リポジトリからプルする場合は、独自のリポジトリを作成します。

.Gitattributesは、ローカルリポジトリとローカルコピーにのみ影響します。他の誰かが自分のリポジトリの.gitattributesを変更できます。結局のところ、それは彼らのリポジトリです。親リポジトリが変更を受信して​​いる場合、pre-receiveフックを使用して、取得されたパケットを検証し、親リポジトリのポリシーに従っていることを確認できます。ポリシーを適用するために.gitattributesを使用するのではなく、ポリシーに従うのを助けるためだけに使用してください。

Subversionの自動プロパティ設定も同様です。そのユーザーのすべての作業コピーに影響します。作業コピーごとに個別の構成はありません。多くのSubversionコマンドでパラメーターを使用して--config-dir、その操作に異なるSubversion構成ファイルを指定できるため、複数の構成ファイルを使用--config-dirしてそのファイルを指定できます。便利ではありませんが、可能です。

プロパティが正しく設定されていることを確認する場合は、コミットのプロパティをチェックし、ファイルの無効なプロパティまたはプロパティ値を持つコミットを拒否するpre-commitフックが必要です。私はまさにそれを行うことができるpre-commitフックを持っています。

于 2012-10-11T19:51:41.260 に答える