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

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/32697085/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 22:52:38  来源:igfitidea点击:

Sticky tag for file is not a branch - CVS

javaeclipseversion-controlcvseclipse-kepler

提问by

I'm trying to commit my changes to the repository server (using CVS) in Eclipse Kepler, but when I do I get the following error which I've never seen before:

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

The server reported an error while performing the "cvs commit" command. ProsperityMobile: cvsntsrv server: sticky tag 1.6' for file src/com/prosperity/mobile/controller/UserController.java' is not a branch ProsperityMobile: cvsntsrv server: sticky tag 1.14' for file src/com/prosperity/mobile/service/UserService.java' is not a branch ProsperityMobile: cvsntsrv [server aborted]: correct above errors first!

服务器在执行“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 [服务器中止]:首先更正上述错误!

And honestly I don't even know where to start trouble shooting this or what it even means. Any point in the right direction would really be appreciated!

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

回答by Olaf Dietsche

I just came upon this too. This may happen, when you checkout a specific version of a file or at some specific date, see Sticky tagsfor more.

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

In my case, the files had a sticky tag, but were also at the HEAD. So I could just remove the sticky tag with

就我而言,这些文件有一个粘性标签,但也在 HEAD。所以我可以删除粘性标签

cvs update -A file.h file.cpp

and then proceed with cvs commit

然后继续 cvs commit



And again when you're on a branch, it works more or less the same. Just update to the relevant branch with option -r

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

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

回答by Noosh

In order to remove sticky tag from a file in CVS, easily use:

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

cvs update -A  filename

回答by nitind

A Tag applies to a specific revision of a file or tree of files. Trying to Commit changes to that wouldn't make sense, and in fact isn't supported by the server. This is why you check things out from a Branch, make changes and then check them back into the branch. A branch is expected to change over time while tags are expected to always point you back to the specific revision.

标签适用于文件或文件树的特定修订。尝试提交更改是没有意义的,实际上服务器不支持。这就是为什么您从分支中检出事物,进行更改,然后将它们重新检入分支的原因。一个分支预计会随着时间的推移而改变,而标签预计总是将您指向特定的修订版。

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

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

回答by Giovanni P.

I had this same problem in Eclipse, and updating would not work. What worked was:

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

  • Right click on file
  • Replace with > Another Branch or Version
  • Confirm (this will override local changes, therefore you should backup them)
  • Select HEAD (or the branch you need)
  • 右键单击文件
  • 替换为 > 另一个分支或版本
  • 确认(这将覆盖本地更改,因此您应该备份它们)
  • 选择 HEAD(或您需要的分支)