错误的详细信息如下。我刚刚安装在新的Windows 7计算机上,并且在EGit中进行的任何提交都出现此错误。我可以使用Git Bash shell成功提交。我检查了EGit的更新,但没有找到。其他的EGit函数(例如pull和push)也可以工作,但是我必须在Git shell中进行提交。
发生了内部错误
在执行commit命令期间捕获到异常
堆栈跟踪:
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
会话数据:
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文件的问题。