eclipse Subclipse:更新 SVNStatusSubscriber 的变更集(更新 - 时钟同步问题)
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/4629457/
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
Subclipse: Updating Change Sets for SVNStatusSubscriber (UPDATED - clock sync issue)
提问by FilmJ
I see this when digging into the error logs of Eclipse - I keep getting an error:
我在深入研究 Eclipse 的错误日志时看到了这一点 - 我不断收到错误消息:
An internal error occurred during: "Updating Change Sets for SVNStatusSubscriber"
期间发生内部错误:“更新 SVNStatusSubscriber 的变更集”
It happens a few times when trying to update or commit, and eventually hoses my local copy of SVN, and I'm forced to rebuild it.
它在尝试更新或提交时发生了几次,最终将我的 SVN 本地副本放入软管中,我被迫重建它。
Has anyone every encountered either of these or have any thoughts on fixing? It's a huge annoyance to have to rebuild SVN each time. I'm using Subclipse with Helios. Also I'm connected via FUSE/SSHfs to the project on a VM.
有没有人遇到过这些或对修复有任何想法?每次都必须重建SVN是一个巨大的烦恼。我在 Helios 上使用 Subclipse。此外,我通过 FUSE/SSHfs 连接到 VM 上的项目。
采纳答案by FilmJ
Okay, so this is still not 100% certain, but it would appear that what's happened is that the date goes out of sync on the VM on occassion. During svn updates or commits, this causes inconsistent synchronization data and the client in Eclipse, confused, ends up throwing errors.
好的,所以这仍然不是 100% 确定,但似乎发生的事情是日期在 VM 上偶尔不同步。在 svn 更新或提交期间,这会导致不一致的同步数据和 Eclipse 中的客户端,混淆,最终抛出错误。
Because the errors cause an abort of the update or commit process, this leaves the repository in a very unstable state, my guess is that it tries to retrieve a name of a file but gets back null, and ends up writing this back to the .svn/entries somehow.
因为错误导致更新或提交过程中止,这使存储库处于非常不稳定的状态,我的猜测是它尝试检索文件名但返回 null,并最终将其写回 . svn/条目不知何故。
As I said I can't confirm that this is the only thing causing the problems, but it makes sense as after my clock went out of sync, pretty much all of svn was broken on the next svn up call.
正如我所说,我无法确认这是导致问题的唯一原因,但这是有道理的,因为在我的时钟不同步之后,几乎所有 svn 在下一次 svn up 调用中都被破坏了。
回答by vinnyjames
Did samba fix it? Have you tried using different client implementations?
samba 解决了吗?您是否尝试过使用不同的客户端实现?
回答by MikeIsrael
Hey so I had a similar issue, and this seems to have fixed the problem (keeping my fingures crossed that it stays fixed.)
嘿,所以我遇到了类似的问题,这似乎解决了问题(保持手指交叉以使其保持固定。)
right click on the project to open the options then set Team->Refresh/Cleanup. I am using a local repository so not sure if this will help you.
右键单击项目以打开选项,然后设置 Team->Refresh/Cleanup。我正在使用本地存储库,因此不确定这是否对您有帮助。
回答by wiredniko
This is rather old however it has been viewed thousands of times which makes me feel that it's still a relevant issue. I arrived on this page because I had the same question.
这是相当古老的但是它已经被查看了数千次这让我觉得它仍然是一个相关的问题。我来到这个页面是因为我有同样的问题。
The steps to fix the issue are
解决问题的步骤是
- Ensure that you have an SVN client actually installed. (ex. if you are using Catalina make sure Catalina is actually installed)
- If you are using extra tools on top of your SVN client such as TortoiseSVN ensure that it's installed. Most tools have co-dependencies to the official SVN release. (ex. TortoiseSVN versions closely match SVN versions)
- Check if SubEclipse is installed (Help > Eclipse Marketplace > Type: subeclipse). When you update your SVN client SubEclipse needs to catch up. If you see the Install button available click it, most likely it will update SubEclipse to look at the right SVN client
- If you get a Working-Copy error go to the actual folders in question through your OS and right click on the folders and choose "SVN Update"
- If you are still having an issue in Eclipse choose your project(s) and right click > Team > Refresh/Cleanup. Then right click > Team > Synchronize with Repository
- 确保您实际安装了 SVN 客户端。(例如,如果您使用的是 Catalina,请确保实际安装了 Catalina)
- 如果您在 SVN 客户端之上使用额外的工具,例如 TortoiseSVN,请确保它已安装。大多数工具都依赖于官方 SVN 版本。(例如 TortoiseSVN 版本与 SVN 版本紧密匹配)
- 检查是否安装了 SubEclipse(帮助 > Eclipse Marketplace > 类型:subeclipse)。当您更新 SVN 客户端时,SubEclipse 需要跟上。如果您看到可用的安装按钮单击它,很可能它会更新 SubEclipse 以查看正确的 SVN 客户端
- 如果您收到工作副本错误,请通过您的操作系统转到相关的实际文件夹,然后右键单击这些文件夹并选择“SVN 更新”
- 如果您在 Eclipse 中仍有问题,请选择您的项目并右键单击 > 团队 > 刷新/清理。然后右键单击>团队>与存储库同步
Hopefully one of the 5 steps will resolve your issue. In my case I had to do all 5.
希望 5 个步骤之一将解决您的问题。在我的情况下,我必须做所有 5。
回答by andrei
I had the same problem, after creating some new classes. I've fixed it after synchronizing with repository of the parent package. the svn error "Updating Change Sets for SVNStatusSubscriber" disappered.
在创建了一些新类后,我遇到了同样的问题。我在与父包的存储库同步后修复了它。svn 错误“更新 SVNStatusSubscriber 的变更集”消失了。
Changing the SVN client from eclipse with restart or start eclipse with "-clean" option didn't work for me.
通过重新启动从 eclipse 更改 SVN 客户端或使用“-clean”选项启动 eclipse 对我不起作用。
回答by munish mehta
As a solution to this problem, uninstall the svn client from eclipse. Go to Help -> about -> installation details -> select all subclipse plugins and click uninstall. After this install Subclipse from using subclipse update site. Don't forget to restart eclipse / STS whenever asked to do so.
作为这个问题的解决方案,从eclipse卸载svn客户端。转到帮助 -> 关于 -> 安装详细信息 -> 选择所有 subclipse 插件并单击卸载。在此之后,使用 subclipse 更新站点安装 Subclipse。每当要求这样做时,不要忘记重新启动 eclipse / STS。
Doing so solved my this problem. Hope this helps in your case as well.
这样做解决了我的这个问题。希望这对您的情况也有帮助。
回答by Abhinav Saxena
My observation is that commonly the SVN commit fails, when there is a collision in XML files. SVN is not correctly reporting and updating XMLs. I had to delete (move the res folder to a temporary folder outside project) the entire folder, commit, restore the folder and commit again. I have not tried, but I think automatic build for Eclipse should be disabled before taking update. However you can get the version updates from team-->history, from there you can extract the updates to a folder, to compare the updates are done properly.
我的观察是,当 XML 文件中存在冲突时,SVN 提交通常会失败。SVN 未正确报告和更新 XML。我不得不删除(将 res 文件夹移动到项目外的临时文件夹)整个文件夹,提交,恢复文件夹并再次提交。我没有尝试过,但我认为在更新之前应该禁用 Eclipse 的自动构建。但是,您可以从 team-->history 获取版本更新,从那里您可以将更新提取到一个文件夹中,以比较更新是否正确完成。