Клон jgit на андроид - PullRequest
       42

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

2 голосов
/ 25 февраля 2012

Я создал тестовое приложение для 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 Ответ

0 голосов
/ 13 апреля 2012

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

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

...