FUKUDA, Naoki
fukud****@senko*****
2005年 1月 14日 (金) 14:55:55 JST
ふくだと申します。 > IDEのプロジェクトファイルみたいな > 各自の置いてある directory path が違う > だけみたいなファイルを cvs に登録して > おくと、必要ないのに毎回 commit されて > しまうということが起きるのですが、 VC++ の dsw ファイルのことだったりします? だとしたら、うちではチェックアウト先のパス名に使用する 文字種類についての制限を行っています。 ◎ パス名、モジュール名として使用してよい文字: 0123456789.~_ ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz × パス名、モジュール名として使用してはいけない文字: ・ASCII文字 …以下が使用禁止 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │ │! │# │$ │% │& │' │( │) │+ │ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┘ │- │= │@ │[ │] │^ │` │{ │} │ └─┴─┴─┴─┴─┴─┴─┴─┴─┘ ・半角カナ …全部禁止 ・マルチバイト文字(日本語等) …全部禁止 × (参考)パス名、ファイル名の一部として使用できない文字: ・\/:,;*?"<>| 【本制限の理由】: 不思議な現象: dswファイル中にある、プロジェクトパスの記述には、 「"」が付く場合と付かない場合があります。 この違いは、 dswファイルが置かれている場所(パス名)に依存する ようで、 (A) パス名の一部に上記禁止文字が含まれている場合 Project: "aaa"=".\aaa.dsp" - Package Owner=<4> (B) A以外の場合 Project: "aaa"=.\aaa.dsp - Package Owner=<4> となるようです。 問題点: CVSでの運用の都合上、置き場所が違うという理由だけで、 dsw ファイルに変更マークがついてしまうため、 最悪の場合毎回 dsw ファイルを(修正してないのに)コミット しなおさなければなりません。 (これは非常に具合が悪い) 回避策: 現時点で可能な回避策としては (a) パス名の一部に必ず禁止文字を含ませる (b) パス名に絶対に禁止文字を含ませない の2通りしかないのですが、(b)の方が現実的(かつ部内ではポピュラー) なので、上述のような結論となりました。 私が経験したのは VC++ の dsw ですが、似たようなものは他にもあるかも しれません。 以上、参考になれば。