我在Eclipse Indigo中使用我的Java项目在SVN中遇到了可怕的麻烦。
我不是业余爱好者,也不是专业程序员,但我听说版本控制系统对于严肃的项目有多重要,并且认为是时候我学会了如何使用它。
现在我发现无论我尝试什么,我都无法承诺。根据我的工作,我会得到不同的错误。
我怀疑问题是由我在Project>中检查“项目文件夹而不是工作区中的持久项目重构历史记录”框引起的。属性>重构历史,但我不确定。但是自从我这样做以后,我收到一条错误,上面写着“svn:Path'.settings'不存在”错误。我再次尝试,取消选中.settings / org.eclipse.ltk.core.refactoring.prefs的方框。这次我在尝试提交时遇到了一个不同的错误,“路径'游戏核心'不存在”。 ('gamecore'是项目中的根级包,我将大多数类放在可以移动到更适合的地方。)
我尝试了几种摆弄我改变的项目首选项的方法,并在尝试提交时取消选中一些文件。都失败了。
绝望之下,我将已更改的源文件粘贴到文本文件中,恢复到我之前的版本,然后将新版本粘贴到旧文件的顶部。这次我得到了“svn:File'/ Space Game / .refactorings'已经过时了”。
所以无论我做什么,我都无法承诺。此时我正在考虑清除整个存储库并从我的工作区导入(我以前在意外删除项目时所做的事情,认为存储库中存在重复。)
我在网上搜索了我所遇到的错误,我发现的所有线程似乎都比我拥有更多的版本控制知识。大多数都包含bash shell命令,我无权访问。
我的问题是: 1)这是最好的行动方案吗? 2)还有另一种不那么激烈的恢复方式吗? 3)如何防止此错误再次发生?
我正在使用Eclipse Indigo和Subversive SVN Connectors 2.2.2,Subversive SVN Team Provider 0.7.9和SVNKit 1.3.5 Implementation 2.2.2。
答案 0 :(得分:1)
发生这种情况时,您已将eclipse元数据检查到源代码管理中,然后通过更改这些设置来移动它。
Restoring FILENAME
如果我是你,我会关闭eclipse并从命令行执行此操作,因此它不会混淆。:
cd /path/to/project/root
svn up
svn rm .project .settings .buildpath .refactorings
svn commit .project .settings .buildpath .refactorings -m "Deleting eclipse metadata."
svn propedit svn:ignore .
# this will open an editor ignored files are one per line so your file should look like
# the following without the "#" signs
#
# .project
# .settings
# .buildpath
# .refactorings
svn commit . -m "Adding ignores to eclipse metadata files."