2012-02-24 4 views
2

私はテストアンドロイドアプリを作成しました。アプリでは、私は、クローン操作に使用jgitを呼び出すと、私はエラーを取得:Jgitクローンアンドロイド

Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing unknown e69de29 
org.eclipse.jgit.storage.file.WindowCursor.open(WindowCursor.java:125) 
org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:228) 
org.eclipse.jgit.dircache.DirCacheCheckout.checkoutEntry(DirCacheCheckout.java:926) 
org.eclipse.jgit.dircache.DirCacheCheckout.doCheckout(DirCacheCheckout.java:444) 
org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCacheCheckout.java:378) 
org.eclipse.jgit.api.CloneCommand.checkout(CloneCommand.java:224) 
org.eclipse.jgit.api.CloneCommand.call(CloneCommand.java:121) 

しかしagitに、この操作はエラーなしで実行されます。私はagitのコードを勉強しましたが、なぜこれが起こっているのか理解できませんでした。

私に間違っていることを教えてください。

マイコード:

Git.cloneRepository() 
    .setBare(false) 
    .setDirectory(dir) 
    .setCloneAllBranches(false) 
    .setRemote("origin") 
    .setURI(uri) 
.call(); 

答えて

0

あなたは)(呼び出しの前にsetNoCheckout(true)を追加しようとする場合があります。チェックアウト時にエラーが発生しました。その後、別のコマンドでチェックアウトすることができます。

問題のため、ブランチが設定されていない可能性があります。 yourdir/.git /.../ branches /を見てみるか、クローンを作成した後、現在のブランチを探してみてください。多分それは定義されていません。ファイルyourdir/.git/HEADも面白いです。

関連する問題