patorjk
patorjk

Reputation: 2182

IndexOutOfBoundsException in Eclipse EGit using "Team->Switch To"

When I right click my project and select "Team->Switch To", the menu doesn't list any of my branches, it's empty except for the "New Branch..." option.

I checked the Eclipse error log and it's throwing this error:

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)
    ...

Any clues as to what's wrong or why this is happening?

I'm running:

Upvotes: 1

Views: 44

Answers (1)

R&#252;diger Herrmann
R&#252;diger Herrmann

Reputation: 20985

The stacktrace suggests that something goes wrong while decoding the author of a commit. Possibly the reflog contains an entry whose author or committer does not follow the pattern author <[email protected]>.

Not sure if it is legal in Git to have author names that do not follow the above pattern. If however, EGit/JGit allows to store them in the system it shouldn't complain while retrieving them again.

Hence I think it might be worth filing an EGit bugzilla to have the maintainers verify that this is desired behavior.

Upvotes: 1

Related Questions