我正在尝试将最近的主干更改合并到分支。从分支工作目录我正在执行合并更新命令(将树干修订之间的差异合并到分支):
cvs update -j 1.207 -j 1.208 file.cpp
但是不是合并CVS而是删除更新的文件:
cvs update: scheduling `file.cpp' for removal
我确定该文件未被删除或移动到另一个目录。
本地文件修订版为1.203.8.1
。
为什么它不合并?我怎么能以另一种方式做到?
答案 0 :(得分:1)
问题是我忘记了CVS服务器复制。我们从中央办公室复制了几个本地办公室存储库。我在中央CVS服务器上检查了trunk,但是从本地服务器执行了更新。尚未复制更改,并且请求文件修订在本地存储库中尚不存在。经过一段时间的复制完成并且merge命令成功完成。
但真正令我生气的是,CVS不会返回有关不存在的修订版本的错误,只是将其视为文件已从存储库中删除!
幸运的是,CVS为不存在的标记返回错误,因此为了确保您的签入存在于存储库中,您可以使用下一个命令(WinCVS,Windows平台):
cvs update -p -rYourCheckinTag file.cpp>nul
如果失败,CVS将返回描述性错误消息:
cvs [update aborted]: no such tag `YourCheckinTag'
如果成功,CVS将返回文件存储库路径和请求的修订号:
===================================================================
Checking out file.cpp
RCS: /projects/file.cpp,v
VERS: 1.208
***************