Merge CVS合并主干到分支的两个修订之间的差异会导致文件删除而不是合并

Merge CVS合并主干到分支的两个修订之间的差异会导致文件删除而不是合并,merge,cvs,Merge,Cvs,我正在尝试将最近的主干更改合并到分支。在分支工作目录中,我正在执行合并更新命令(分支主干修订之间的合并差异): 但不是合并CV,而是删除更新的文件: cvs update: scheduling `file.cpp' for removal 我确信该文件没有被删除或移动到其他目录。 本地文件版本为1.203.8.1 为什么它不合并?我如何以另一种方式进行合并?问题是我忘记了CVS服务器复制。我们有多个从中央数据库复制的本地办公室存储库。我签入了中央CVS服务器上的trunk,但从本地服务器执行

我正在尝试将最近的主干更改合并到分支。在分支工作目录中,我正在执行合并更新命令(分支主干修订之间的合并差异):

但不是合并CV,而是删除更新的文件:

cvs update: scheduling `file.cpp' for removal
我确信该文件没有被删除或移动到其他目录。 本地文件版本为
1.203.8.1


为什么它不合并?我如何以另一种方式进行合并?

问题是我忘记了CVS服务器复制。我们有多个从中央数据库复制的本地办公室存储库。我签入了中央CVS服务器上的trunk,但从本地服务器执行了更新。更改尚未复制,请求的文件修订版在本地存储库中还不存在。一段时间后,复制完成,合并命令成功完成

但真正让我生气的是,CVS并没有返回关于不存在的修订的错误,而只是将其视为文件已从存储库中删除

幸运的是,CVS为不存在的标记返回错误,所以为了确保您的签入显示在存储库中,您可以使用下一个命令(WinCVS,Windows平台):

如果出现故障,CVS将返回描述性错误消息:

cvs [update aborted]: no such tag `YourCheckinTag'
如果成功,CVS将返回文件存储库路径和请求的修订号:

===================================================================
Checking out file.cpp
RCS:  /projects/file.cpp,v
VERS: 1.208
***************
cvs [update aborted]: no such tag `YourCheckinTag'
===================================================================
Checking out file.cpp
RCS:  /projects/file.cpp,v
VERS: 1.208
***************