私は過去数か月間、サーバーとのインターフェースにTortoiseSVNを使用したコード制御にSubversionを使用してきましたが、一般的には順調に進んでいます。ただし、FoxPro IDEが警告なしにファイル拡張子の大文字と小文字を変更し、「program.prg」が「program.PRG」になる場合があります。名前は「バージョン管理されていない」と表示され、ファイルへの変更を追跡する機能に大混乱をもたらします。Subversionは*nixの大文字と小文字を区別する世界に起源があることを理解していますが、Windowsで使用する場合、SubversionまたはTortoiseSVNのいずれかでファイル名を大文字と小文字を区別しないように制御する方法はありますか?
8 に答える
残念ながら、Subversion では大文字と小文字が区別されます。これは、Subversion のファイルは、大文字と小文字を区別するファイル システム (*nix など) と大文字と小文字を区別しないファイル システム (Windows、Mac など) の両方でチェックアウトできるためです。
この precommit フック スクリプトは、ファイルをチェックインするときの問題を回避するのに役立つ場合があります。問題が解決しない場合は、小さなスクリプトを作成して、すべての拡張子が小文字であることを確認し、チェックイン/チェックアウトする前に毎回実行することをお勧めします。それはPITAになりますが、おそらくあなたの最善の策です。
Windows は大文字と小文字の区別をサポートしていますが、Windows API から CreateFile で正しい POSIX フラグを送信する必要があります。レジストリ キーを変更する必要がある場合があります (Unix および Ultimate Windows 7 用の SFU/Tools には、このレジストリ エントリが既に設定されているため、Windows は大文字と小文字を区別するファイル名をサポートしています)。
Windows は Unix に基づいて設計されていますが、Explorer.exe やその他のプログラムなどは、下位互換性とセキュリティのために大文字と小文字の区別を許可しないように設計されています (ほとんどの場合、notepad.exe と NOTEPAD.EXE を実行する dos を処理する場合、大文字はすべてウイルスです)。またはマルウェア)。
しかし、Vista+ にはこれを時代遅れにするセキュリティ属性があります。
TortiousSVN は、ファイルの作成および名前変更中にこの posix フラグを渡すことをサポートしていません。
私は VFP で TortoiseSVN を使用していますが、ほとんどシームレスにケースの反転を処理します。唯一そうでないのは、コミットしようとするときに IDE でファイルを開いている場合です。VFP が保持するファイル ロックが混乱を招きます。これがあなたの問題の出番ですか、それとも他の問題がありますか?
私は昨年 FoxForward で、Subversion での VFP の使用についてプレゼンテーションを行いました。プレゼンテーションのほとんどはコマンド ラインを扱っていましたが、最後にいくつかのスライドがあり、VFP で Subversion を操作するのに役立つツールへのリンクがあります。http://docs.google.com/Presentation?id=dfxkh6x4_3ghnqc4
拡張機能のランダムな大文字と小文字は、まったくランダムではないと思います。これでテストしたことを覚えています。プロジェクト マネージャからプログラムを変更する場合。変更ボタンをクリックしてみましょう。そして、拡張子が小文字の変更を保存します。コマンド ウィンドウから変更コマンドを実行して変更を保存すると、拡張子は大文字になります。どうやら Microsoft のコーダーは、拡張子のケースが同じであることを気にしていなかったようです。
Kit さんは、VFP のバイナリ ベースのソース ファイルを Subversion で扱うのは難しいとコメントしています。上記のリンクには、簡単にするためのツールがいくつか記載されていますが、私が使用しているのは Christof Wollenhaupt の TwoFox ユーティリティです。VFP プロジェクトをテキストのみに変換します。手動で実行する必要がありますが、問題はありません。
いいえ、できません。SVN は、何らかの方法でコードを書き直さない限り、大文字と小文字が区別されます...オープンソースです。