Subversive Eclipse完全无法提交;整个项目可能已经蓬勃发展

时间:2012-06-23 20:44:03

标签: eclipse svn commit subversive

我在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。

1 个答案:

答案 0 :(得分:1)

发生这种情况时,您已将eclipse元数据检查到源代码管理中,然后通过更改这些设置来移动它。

  1. 首先进行更新以获取元文件。如果您观看svn控制台,您会看到类似:Restoring FILENAME
  2. 的内容
  3. 让他们回来并假设您的项目仍然设置为将元数据放在一个单独的文件夹中,然后您可以对它们执行svn删除并提交删除。
  4. 在所有eclipse元数据上设置svn:ignore,即:
    • 的.project
    • .settings
    • .buildpath
    • .refactorings
  5. 如果我是你,我会关闭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."
    
相关问题