CVSのマージの挙動

ファイルを削除したときのHEAD→BRANCH, BRANCH→HEADへのマージについて(TortoiseCVSで確認).

  • 「HEAD:そのまま,BRANCH:消す」で HEAD→BRANCHにマージ
    • BRANCHで消したファイルはそのまま.cvsコマンドに,それっぽいメッセージは出ない.
  • 「BRANCH:消す,HEAD:そのまま」で BRANCH→HEADにマージ
    • HEADの対象ファイルも削除される.cvsコマンドには,「cvs update: scheduling target for removal」と出た.
  • 「HEAD:消す,BRANCH:そのまま」で HEAD→BRANCHにマージ
    • BRANCHの対象ファイルは,そのまま残る.cvsコマンドには,「cvs update: file target has been modified, but has been removed in revision HEAD」と出た.
  • 「BRANCH:そのまま,HEAD:消す」で BRANCH→HEADにマージ
    • HEADの対象ファイルは消えたまま.cvsコマンドには,「cvs update: file target does not exist, but is present in revision BRANCH」と出た.

結論:あんまりファイル(やディレクトリ)の削除はしないようにしようっと.
#そんなもんか?...そんなもんかも.

CvsTagDiffタスク大活躍の予感(CvsChangeLogタスクも).


あとはブランチの運用基準だなぁ.
HEAD(リリースライン),BRANCH-1(保守ライン)の2本立てを考えてたけど,案外,ブランチは使い捨てにしたほうが面倒がないのかも.