2013-07-31 16 views
8

Quando si tenta di eseguire il seguente metodo (utilizza la libreria JGIT)JGIT Pull NoHeadException

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

ottengo la seguente eccezione di runtime:

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

Qualcuno sa come risolvere questo problema? Il localRepo che utilizzo è lo stesso che utilizzo per il metodo cloneRepository, che funziona perfettamente.

grazie, bgvv1983

+0

Vedo la stessa cosa quando provo ad aggiungere qualcosa di simile alla mia raccolta JGit snippe su https://github.com/centic9/jgit-cookbook, ma non riesco con lo stesso errore, sembra che JGit abbia qualche limitazione qui. – centic

+0

Ho anche postato la domanda sul forum di Eclipse Egit. Speriamo che qualcuno abbia una soluzione lì – Bgvv1983

+0

Il repository ha un riferimento HEAD (controlla con 'git rev-parse HEAD')? – robinst

risposta

9

che ho trovato il mio errore. era nel livello sbagliato nella mia cartella di progetto.

Ero al livello ../project (che funziona nella shell) al posto di ../project/.git level.