[cvs-jp-info 763] Re: CVS 上でのフォルダ移動

Back to archive index

doara doara****@ytv*****
2006年 6月 1日 (木) 00:03:46 JST


どあらです。

>この場合具体的にどのような問題が想定されるでしょうか?

 分かりづらかったですね、すみません。ディレクトリ毎移動しても、cvs上は
CVSROOT内の各設定ファイル(例えばmodulesとか…)にでも記述していない限り何
の問題もありません。移動後の位置でcheckoutされる以外変化はありません。通
常に扱えます。(設定ファイル群に記述してあったとしても直せばいいだけです)


>レポジトリ内のファイルに、そのファイルが存在している
>サーバー上のフォルダ名なども保持されているのでしょうか?

 いいえ。CVSNTのVer2.0.??以降(SJIS版除く)では、RCSファイル中にファイル
名を保持する仕掛けが入っていた様な気がしますが、オリジナルのcvsの方は大
丈夫なはずです。

 前回私が指摘したのは、日付指定やタグ指定で過去のある時点のモジュールを
取得した場合、当然ファイルの場所が変わるので困る場合もある。という事です。

 例えば、A_dir→B_dirに移動した場合、

 移動する前には、B_dirではなくA_dir にあったファイル(群)が、最初のリビ
ジョンからA_dirにあった事になってしまうという事です。
 これでは「履歴が引き継げた」とは言えないですよね。厳密には移動する前ま
でのリビジョンはA_dirに存在して、移動後のリビジョンからB_dirに存在するべ
きです。ただ、現状のcvsの限界ですが、移動した際のファイルの関係が記録で
きません。logで拾えないので、覚えておくか、他のドキュメントなどでフォ
ローするというローテクな方法くらいしかありません。

 プログラムソースなど、ファイルが存在する場所自体にも意味がある様な運用
の場合は、古い版を取り出すのに別の場所で出てきては困る事も考えられます。
そういう場合は、A_dirをcvs removeで削除して、B_dirをcvs addする方が都合
が良い事になります。(あるいはB_dirは直接A_dirをコピーしておいて、A_dirを
cvs removeするとか…)

 要は、「ファイル単体での履歴には問題はない」が、「ディレクトリ構成に意
味がある場合は(cvs自体ではなくファイルを使う上で)問題となる場合もある」
という事です。

…と、長くなりましたが、そういう事です。




CVS-JP-info メーリングリストの案内
Back to archive index