Eclipse EGit 提交失败 - 由 : java. io.EOFException 引起

标签 eclipse exception commit egit

错误的详细信息如下。我刚刚在一台新的 Windows 7 计算机上安装,并且在 EGit 中完成的任何提交时都会收到此错误。我可以使用 Git Bash shell 成功提交。我检查了 Egit 的更新,但没有找到。其他 EGit 功能(例如 pull 和 push)也可以工作,但我必须在 Git shell 中进行提交。

发生内部错误 执行提交命令时捕获异常

堆栈跟踪:

org.eclipse.jgit.api.errors.JGitInternalException: Exception caught during execution of commit command
    at org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:277)
    at org.eclipse.egit.core.op.CommitOperation.commit(CommitOperation.java:255)
    at org.eclipse.egit.core.op.CommitOperation.access$7(CommitOperation.java:233)
    at org.eclipse.egit.core.op.CommitOperation$1.run(CommitOperation.java:197)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326)
    at org.eclipse.egit.core.op.CommitOperation.execute(CommitOperation.java:207)
    at org.eclipse.egit.ui.internal.commit.CommitUI$2.run(CommitUI.java:220)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.io.EOFException: Input did not match supplied length. 239 bytes are missing.
    at org.eclipse.jgit.storage.file.ObjectDirectoryInserter.shortInput(ObjectDirectoryInserter.java:237)
    at org.eclipse.jgit.storage.file.ObjectDirectoryInserter.toTemp(ObjectDirectoryInserter.java:168)
    at org.eclipse.jgit.storage.file.ObjectDirectoryInserter.insert(ObjectDirectoryInserter.java:105)
    at org.eclipse.jgit.api.CommitCommand.createTemporaryIndex(CommitCommand.java:363)
    at org.eclipse.jgit.api.CommitCommand.call(CommitCommand.java:195)
    ... 8 more

session 数据:

eclipse.buildId=M20120208-0800
java.version=1.6.0_32
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.rcp.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.rcp.product

啊哈,在 Eclipse Egit 社区论坛上发现了一个几乎相同的问题:http://www.eclipse.org/forums/index.php/m/820938/?srch=eofexception#msg_820938

解决方案是从此处安装 EGit 和 JGit 的最新夜间版本:http://download.eclipse.org/egit/updates-nightly/

最佳答案

我已经解决了从项目的 .git 文件夹中删除 index.lock 文件的情况。

关于Eclipse EGit 提交失败 - 由 : java. io.EOFException 引起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10373401/

相关文章:

java - 类型中的方法不适用于 Eclipse 中的参数

eclipse - 将 Tomcat 服务器连接到 Eclipse

java - Maven/Java,IllegalStateException指的是什么?

commit - 将修订与 Redmine 问题相关联

github - 进行 git add(和)commit 的最佳实践是什么

node.js - 如何在nodeclipse、enide studio、express服务器上进行nodejs热部署?

Java 错误处理程序

c# - 任务吞下抛出的异常

c# - 如何捕获从延续抛出的未处理异常?

java - JPA CriteriaQuery 是否需要 begin() 和 commit()?