4

错误的详细信息如下。我刚刚安装在一台新的 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

会话数据:

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/

4

5 回答 5

1

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

于 2014-07-16T22:25:01.410 回答
0

是的,通过从项目的 .git 文件夹中删除 index.lock 文件,它可以正常工作。

于 2016-07-14T04:00:47.760 回答
0

在我的 ubuntu 14.04 中,我安装了 jgit [ sudo apt-get install jgit-cli ],问题就解决了。安装后我重新启动了netbeans。

于 2015-08-21T05:15:58.110 回答
0

我已经通过将用户组更改为 Ubuntu 16.04 上的当前用户来解决它。希望有帮助。

cd 项目目录 sudo chown -R 1000:1000 。

于 2018-01-12T08:34:08.127 回答
-1

我当时提交了一个文件,直到找到“损坏”的文件。就我而言,它是一个word文件。我没有答应

于 2020-09-08T23:58:49.087 回答