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

时间:2015-09-21 13:54:10

标签: java eclipse version-control cvs eclipse-kepler

我正在尝试将我的更改提交到Eclipse Kepler中的存储库服务器(使用CVS),但是当我这样做时,我得到以下错误,这是我以前从未见过的:

  

服务器在执行“cvs commit”时报告错误   命令。 ProsperityMobile:cvsntsrv服务器:粘性标签1.6' for file src / com / prosperity / mobile / controller / UserController.java'不是   分支ProsperityMobile:cvsntsrv服务器:粘性标签1.14' for file src / com / prosperity / mobile / service / UserService.java'不是分支   ProsperityMobile:cvsntsrv [服务器中止]:纠正上述错误   第一!

老实说,我甚至不知道从哪里开始解决这个或者甚至意味着什么。正确方向的任何一点都会非常感激!

4 个答案:

答案 0 :(得分:6)

我也是这样想的。如果您签出文件的特定版本或某个特定日期,可能会发生这种情况,请参阅Sticky tags了解更多信息。

在我的情况下,文件有一个粘性标签,但也在HEAD。所以我可以用

删除粘性标签
cvs update -A file.h file.cpp

然后继续cvs commit

当你在分支机构时,它的工作方式或多或少相同。只需使用选项-r

更新到相关分支
cvs update -r <branch-name> file.h file.cpp

答案 1 :(得分:3)

标记适用于文件或文件树的特定修订。尝试将更改提交到那些没有意义的事情,实际上服务器不支持。这就是你从分支机构检查出来的东西,进行更改,然后将它们重新检入分支机构的原因。预计分支会随着时间的推移而发生变化,而标签应始终指向特定版本。

http://commons.oreilly.com/wiki/index.php/Essential_CVS/Using_CVS/Tagging_and_Branching

答案 2 :(得分:3)

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

cvs update -A  filename

答案 3 :(得分:0)

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

  • 右键点击文件
  • 替换为&gt;另一个分支或版本
  • 确认(这将覆盖本地更改,因此您应备份它们)
  • 选择HEAD(或您需要的分支)