2013-07-31 7 views
8

Kiedy próbuję wykonać w następujący sposób (używa JGIT Library)JGIT Pull NoHeadException

private void pullRepo() throws IOException,GitAPIException, WrongRepositoryStateException, InvalidConfigurationException, DetachedHeadException, InvalidRemoteException, CanceledException, RefNotFoundException, NoHeadException{ 
      Git git = new Git(localRepo); 
      git.pull().call(); 
    } 

otrzymuję następujący wyjątek środowiska wykonawczego:

org.eclipse.jgit.api.errors.NoHeadException: Pull on repository without HEAD currently not supported 
at org.eclipse.jgit.api.PullCommand.call(PullCommand.java:161) 

Czy ktoś wie jak rozwiązać ten problem? Parametr localRepo, którego używam, jest taki sam jak w przypadku metody cloneRepository, która działa idealnie.

Dzięki, bgvv1983

+0

Widzę to samo, gdy próbuję dodać coś takiego do mojej kolekcji szczątków JGit na https://github.com/centic9/jgit-cookbook, ale nie udało się z tym samym błędem, wydaje się, że JGit ma pewne ograniczenia tutaj. – centic

+0

Opublikowałem też pytanie na forum Eclipse Egit. Mam nadzieję, że ktoś ma tam rozwiązanie – Bgvv1983

+0

Czy repo ma referencje HEAD (sprawdź z 'git rev-parse HEAD')? – robinst

Odpowiedz

9

Pomyśl znalazłem mój błąd. był na niewłaściwym poziomie w moim folderze projektu.

Byłem na poziomie ../project (który działa na twojej powłoce) zamiast na poziomie ./project/.git.