CVS で commit できない話の続き
CVS で commit しようとしたときに以下のようなメッセージがでる場合の回避方法。
sticky tag 'release-v111' for file 'filename' is not a branch
以下のコマンドを実行する。filename には commit できないファイルを指定する。
C:\hoge> cvs status -v filename
以下のようなメッセージが表示される。
Existing Tags: release-v111 (revision: 1.2.2.1) branch-v110 (branch: 1.2.2) release-v110 (revision: 1.2) release-v100 (revision: 1.1)
revision は、特定の時点につけられたタグなので、それを変更して commit はできない。commit するには、その revision の元になっている branch に移動すればよい。
C:\hoge> cvs update -r branch-v110
release-v111 は branch-v110 に対して変更を加えたものだから、release-v111 のままなら Up-to-date となる。release-v111 に変更を加えていれば、Locally Modified となる。
cvs update 後は、この Locally Modified したファイルは commit できるようになる。
cvs update -A すると幹(release-v110 に対する最新版)に行ってしまう。枝の中で修正を行っている場合は、cvs update -A をやってはいけない。