Eclipse EGit中的IndexOutOfBoundsException使用“Team->切换到”

时间:2015-10-30 12:57:29

标签: eclipse eclipse-plugin egit

当我右键单击我的项目并选择“Team-> Switch To”时,菜单不会列出我的任何分支,除了“New Branch ...”选项外,它是空的。

我检查了Eclipse错误日志,它抛出了这个错误:

java.lang.IndexOutOfBoundsException
    at java.nio.ByteBuffer.wrap(ByteBuffer.java:371)
    at org.eclipse.jgit.util.RawParseUtils.decodeNoFallback(RawParseUtils.java:942)
    at org.eclipse.jgit.util.RawParseUtils.decode(RawParseUtils.java:909)
    at org.eclipse.jgit.util.RawParseUtils.decode(RawParseUtils.java:868)
    at org.eclipse.jgit.util.RawParseUtils.parsePersonIdentOnly(RawParseUtils.java:785)
    at org.eclipse.jgit.internal.storage.file.ReflogEntryImp.<init>(ReflogEntryImpl.java:83)
    at org.eclipse.jgit.internal.storage.file.ReflogReaderImpl.getReverseEntries(ReflogReaderImpl.java:128)
    at org.eclipse.jgit.internal.storage.file.ReflogReaderImpl.getReverseEntries(ReflogReaderImpl.java:85)
    at org.eclipse.egit.ui.internal.actions.SwitchToMenu.createDynamicMenu(SwitchToMenu.java:146)
    at org.eclipse.egit.ui.internal.actions.SwitchToMenu.fill(SwitchToMenu.java:111)
    ...

有关错误或为何发生这种情况的任何线索?

我正在跑步:

  • Eclipse 4.4.2.M20150204-1700

  • CentOS 6.7

  • Java 1.7.0_85

1 个答案:

答案 0 :(得分:1)

堆栈跟踪表明在解码提交的作者时出现了问题。可能reflog包含一个条目,其作者或提交者不遵循模式author <name@host.com>

不确定Git中是否有合法的作者姓名不符合上述模式。但是,如果EGit / JGit允许将它们存储在系统中,那么在再次检索它们时它不应该抱怨。

因此,我认为可能值得提交EGit bugzilla让维护人员验证这是期望的行为。