我创建了测试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)但在agit中,执行此操作时没有错误。我研究了agit的代码,但不明白为什么会发生这种情况。
告诉我,我哪里做错了?
我的代码:
Git.cloneRepository()
.setBare(false)
.setDirectory(dir)
.setCloneAllBranches(false)
.setRemote("origin")
.setURI(uri)
.call();发布于 2012-04-13 21:57:04
您可能希望尝试在调用()之前添加setNoCheckout(true)。检出时出错。然后,您可以使用单独的命令检出。
对于您的问题,可能没有设置分支。例如,查看您的for /.git/.../ branch /,或者在克隆之后,尝试找到当前的分支。也许它还没有定义。文件yourdir/.git/HEAD也很有趣。
https://stackoverflow.com/questions/9437652
复制相似问题