Клон jgit на андроид

Я создал тестовое приложение для Android. В приложении я вызываю операцию клонирования, используя 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)

Но в действии эта операция выполняется без ошибок. Я изучал код агита, но не понял, почему это происходит.

Скажите, что я делаю не так?

Мой код:

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

1 ответ

Возможно, вы захотите попытаться добавить setNoCheckout(true) перед вызовом (). У вас ошибка при выезде. Вы можете проверить с помощью отдельной команды.

Для вашей проблемы, возможно, не установлена ​​ветка. Посмотрите, например, yourdir /.git /.../ branch / или после клонирования попытайтесь найти текущую ветку. Может быть, это не определено. Файл yourdir/.git/HEAD также интересен.

Другие вопросы по тегам