Java 文件的粘性标记不是分支-CVS

Java 文件的粘性标记不是分支-CVS,java,eclipse,version-control,cvs,eclipse-kepler,Java,Eclipse,Version Control,Cvs,Eclipse Kepler,我试图在Eclipse Kepler中将我的更改提交到存储库服务器(使用CVS),但当我提交更改时,我收到了以下我从未见过的错误: 服务器在执行“cvs提交”时报告了一个错误 指挥部。ProsperityMobile:cvsntsrv服务器:文件的粘性标签1.6' src/com/prosperity/mobile/controller/UserController.java'不是一个 branch ProsperityMobile:cvsntsrv服务器:文件的粘性标签1.14' src/co

我试图在Eclipse Kepler中将我的更改提交到存储库服务器(使用CVS),但当我提交更改时,我收到了以下我从未见过的错误:

服务器在执行“cvs提交”时报告了一个错误 指挥部。ProsperityMobile:cvsntsrv服务器:文件的粘性标签
1.6'
src/com/prosperity/mobile/controller/UserController.java'不是一个 branch ProsperityMobile:cvsntsrv服务器:文件的粘性标签
1.14'
src/com/prosperity/mobile/service/UserService.java'不是一个分支 ProsperityMobile:cvsntsrv[服务器中止]:更正上述错误 首先


老实说,我甚至不知道从哪里开始解决这个问题,或者这意味着什么。只要方向正确,我们都将不胜感激

标记适用于文件或文件树的特定版本。尝试将更改提交到服务器是没有意义的,事实上服务器不支持这样做。这就是为什么要从分支签出内容,进行更改,然后将其签回分支。分支应随时间变化,而标记应始终将您指向特定的修订


我也遇到了这个问题。当您签出文件的特定版本或在某个特定日期签出文件时,可能会发生这种情况,有关详细信息,请参阅

在我的例子中,文件有一个粘性标签,但也在头部。这样我就可以用它来移除粘性标签了

cvs update -A file.h file.cpp
然后继续执行cvs提交


同样,当你在一个分支上时,它的工作原理差不多。只需使用选项
-r

cvs update -r <branch-name> file.h file.cpp
cvs更新-r file.h file.cpp

要从CVS中的文件中删除粘性标签,请轻松使用:

cvs update -A  filename

我在Eclipse中也遇到了同样的问题,更新将不起作用。 起作用的是:

  • 右键单击文件
  • 替换为>其他分支或版本
  • 确认(这将覆盖本地更改,因此您应该备份它们)
  • 选择头部(或所需的分支)

Eclipse工作区中的源代码可能不是最新版本(HEAD)。首先在其他地方保存更改,然后在Eclipse中将副本更新为最新版本。合并您的更改,然后再次提交。谢谢,简单的“覆盖和更新”不起作用,您的方法是的。