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

11

我正在尝试在Eclipse Kepler中将我的更改提交到代码库服务器(使用CVS),但是当我这么做时,我会收到以下错误消息,这是我从未见过的:

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

说实话,我甚至不知道从哪里开始排除故障,也不知道这意味着什么。非常感谢任何指向正确方向的建议!


1
你在Eclipse工作区的源代码可能不是最新版本(HEAD)。请先将更改保存到其他地方,然后将副本更新为最新版本。合并更改,然后再次提交。 - acw1668
4个回答

12

我也遇到过这个问题。当你检查文件的特定版本或某个特定日期时,可能会出现这种情况,请参阅Sticky tags了解更多信息。

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

cvs update -A file.h file.cpp

然后执行 cvs commit 命令。


如果你在一个分支上工作,情况基本相同。只需使用选项 -r 更新到相关的分支即可。

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

6

要从CVS文件中删除粘性标签,只需使用以下方法:

cvs update -A  filename

3

1

我在Eclipse中遇到了同样的问题,更新无法解决。

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

谢谢,仅仅使用“覆盖并更新”并没有起作用,但是您的方法可以。 - Marco Sulla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接