[cvs-jp-info 630] Re: Small diff files

Zurück zum Archiv-Index

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 ですが、似たようなものは他にもあるかも
しれません。


以上、参考になれば。





CVS-JP-info メーリングリストの案内
Zurück zum Archiv-Index