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

Posted

技术标签:

【中文标题】文件的粘性标签不是一个分支 - CVS【英文标题】:Sticky tag for file is not a branch - CVS 【发布时间】:2015-12-18 06:19:01 【问题描述】:

我正在尝试将我的更改提交到 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 [服务器中止]:更正上述错误 第一!

老实说,我什至不知道从哪里开始解决这个问题或它甚至意味着什么。任何朝着正确方向的观点都将不胜感激!

【问题讨论】:

您在 Eclipse 工作区中的源代码可能不是最新版本 (HEAD)。首先将您的更改保存在其他地方,然后将 Eclipse 中的副本更新到最新版本。合并您的更改,然后再次提交。 【参考方案1】:

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

在我的例子中,文件有一个粘性标签,但也在 HEAD 处。所以我可以用

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

然后继续cvs commit


再一次,当你在一个分支上时,它的工作方式或多或少是一样的。只需使用选项 -r 更新到相关分支

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

【讨论】:

【参考方案2】:

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

cvs update -A  filename

【讨论】:

【参考方案3】:

标签适用于文件或文件树的特定修订。尝试对此进行更改是没有意义的,实际上服务器不支持。这就是为什么您要从分支中签出,进行更改,然后将它们签回分支。分支会随着时间而改变,而标签总是会指向特定的版本。

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

【讨论】:

【参考方案4】:

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

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

【讨论】:

谢谢,只是“覆盖和更新”不起作用,你的方法是的。

以上是关于文件的粘性标签不是一个分支 - CVS的主要内容,如果未能解决你的问题,请参考以下文章

需要粘性页眉/页脚,但 CMS 不会让我在正文标签中编码

粘性标题 - 使用标签滚动

PHP是不是阻止了粘性位?

php 粘性网站标签

粘性页脚不是那么粘

[Vant] van-tabs标签页吸顶/粘性布局在移动端适配上的一些尝试