2008-09-11 15 views
3

WindowsでSubversionを使用する際に問題が発生しました。開発者がファイルfoo.Data.sqlをコミットし、その後別の開発者がfoo.data.sqlというファイルをコミットしました。もちろん、Subversionではファイルの大文字と小文字が区別されますが、Windowsでは大文字と小文字が区別されるため、Windowsクライアント(すべてのクライアントはこの環境のWindows)に問題が発生していました。 Subversionでのファイルのケーシングの問題を防止します

は、我々は直接リポジトリ内のファイルのいずれかを削除することによってこの問題を解決するために管理し、私はまだ二つの質問があります。

  1. どのようにそれは、開発者がWindowsクライアントを使用してこれを実行することは可能ですか?彼は無効な作業コピーを持っていますか、またはクライアント(TortoiseSVN)にバグがありますか?
  2. これらの変更がリポジトリに入力されないようにするにはどうすればよいですか(つまり、ファイルケーシングの問題の健全性チェックを実行するフックスクリプトを作成した人がいますか?

答えて

4

大文字と小文字の区別をチェックするフックスクリプトがあります.Sourceforgeにはオプションがあります。簡単にGoogleは、ターンアップ:http://www.subversionary.org/howto/using-check-case-insensitive-py-on-windowshttp://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/case-insensitive.py

ユーザ1がfoo.data.sqlを追加し、ユーザ2は、ユーザからの更新を取得する前にfoo.Data.sqlを追加した場合、問題は、Windowsプラットフォーム上で生じているだろう1.

希望するもの:

0

1; 2つのファイルが2人の開発者から来たので可能です。 1つはファイルの名前を変更したり、ファイルを別のケースで作成したりしていて、コミット中にコミットが変更されないようにすることを認識しません。

2;チェックTortoiseSVN FAQ

2

Windowsでは、ファイルは大文字と小文字を区別しませんが、大文字と小文字は区別されます。ファイルの名前を変更して大文字と小文字を変更すると、Windowsは変更を保存します。この問題は、Subversionが2番目のファイルを作成しようとしたときに発生します。 Windowsはファイルが既に存在すると報告します。

2つのファイルを1つのコピーにマージする場合、リポジトリ内のファイルを削除する代わりに、リポジトリ内の不良ファイルの名前を変更する(つまり、 '.temp'のような接尾辞を追加する) 、良いファイルにマージして、悪いファイルを削除します。

関連する問題