2015-10-30 3 views
1

Когда я нажимаю правой кнопкой мыши мой проект и выбираю «Team-> Switch To», меню не отображает ни одного из моих ветвей, оно пустое, за исключением «New Branch» ... ".IndexOutOfBoundsException в Eclipse EGit с помощью команды «Team-> Switch To»

Я проверил журнал ошибок 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) 
    ... 

Любые подсказки относительно того, что случилось и почему это происходит?

Я бегу:

  • Затмение 4.4.2.M20150204-1700

  • CentOS 6,7

  • Java 1.7.0_85
+0

Стекловатка предполагает, что во время декодирования автор совершает что-то не так. Вы можете сканировать репозиторий, чтобы увидеть, есть ли запись reflog, чей автор/коммиттер не соответствует шаблону «author <[email protected]>»? Либо (часть) reflog поврежден, либо вы столкнулись с ошибкой в ​​EGit или JGit. –

+0

СПАСИБО ВАС !! Я вытягивал свои волосы из-за этого - вы были прав насчет настроек автора. Я их исправил, и теперь меню отображается правильно. Если вы хотите, чтобы это было ответом, я буду отмечать его как правильное. – patorjk

ответ

1

StackTrace предполагает, что что-то идет не так, когда декодирует автора фиксации. Возможно, reflog содержит запись, автор или коммиттер которой не соответствует шаблону author <[email protected]>.

Не уверен, что в Git законно иметь имена авторов, которые не соответствуют приведенному выше шаблону. Если, однако, EGit/JGit позволяет хранить их в системе, он не должен жаловаться при получении их снова.

Следовательно, я думаю, что может стоить подать EGit bugzilla, чтобы сопровождающие проверяли, что это желаемое поведение.