我尝试通过git包含一个库,该库包含一个git子模块,当我运行clojure -Stree时,检出失败。从查看堆栈跟踪和异常信息来看,这似乎与子模块有关。
{code:title=我的deps.edn摘录}
{:deps {clj-chrome-devtools {:git/url "
https://github.com/tatut/clj-chrome-devtools.git" :sha "7b40f7b8c8cd6cf4b2049520630caa7db1b80d20"}}
{code:title=终端会话}
$ clojure -Stree
检出:
https://github.com/tatut/clj-chrome-devtools.git at 7b40f7b8c8cd6cf4b2049520630caa7db1b80d20
构建classpath时出错。检出与文件:resources/devtools-protocol冲突
org.eclipse.jgit.api.errors.JGitInternalException: 检出与文件:resources/devtools-protocol冲突
at org.eclipse.jgit.api.CheckoutCommand.checkoutPath(CheckoutCommand.java:531)
at org.eclipse.jgit.api.CheckoutCommand.access$200(CheckoutCommand.java:133)
at org.eclipse.jgit.api.CheckoutCommand$2.apply(CheckoutCommand.java:516)
at org.eclipse.jgit.dircache.DirCacheEditor.applyEdits(DirCacheEditor.java:166)
at org.eclipse.jgit.dircache.DirCacheEditor.finish(DirCacheEditor.java:134)
at org.eclipse.jgit.dircache.BaseDirCacheEditor.commit(BaseDirCacheEditor.java:276)
at org.eclipse.jgit.dircache.DirCacheEditor.commit(DirCacheEditor.java:127)
at org.eclipse.jgit.api.CheckoutCommand.checkoutPathsFromCommit(CheckoutCommand.java:522)
at org.eclipse.jgit.api.CheckoutCommand.checkoutPaths(CheckoutCommand.java:433)
at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:205)
at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:133)
at clojure.tools.gitlibs.impl$call_with_auth.invokeStatic(impl.clj:50)
at clojure.tools.gitlibs.impl$call_with_auth.invoke(impl.clj:41)
at clojure.tools.gitlibs.impl$call_with_auth.invokeStatic(impl.clj:43)
at clojure.tools.gitlibs.impl$call_with_auth.invoke(impl.clj:41)
at clojure.tools.gitlibs.impl$git_checkout.invokeStatic(impl.clj:117)
at clojure.tools.gitlibs.impl$git_checkout.invoke(impl.clj:113)
at clojure.tools.gitlibs$procure.invokeStatic(gitlibs.clj:52)
at clojure.tools.gitlibs$procure.invoke(gitlibs.clj:41)
at clojure.tools.deps.alpha.extensions.git$eval925$fn__927.invoke(git.clj:41)
at clojure.lang.MultiFn.invoke(MultiFn.java:239)
at clojure.tools.deps.alpha$expand_deps.invokeStatic(alpha.clj:189)
at clojure.tools.deps.alpha$expand_deps.invoke(alpha.clj:172)
at clojure.tools.deps.alpha$resolve_deps.invokeStatic(alpha.clj:239)
at clojure.tools.deps.alpha$resolve_deps.invoke(alpha.clj:221)
at clojure.tools.deps.alpha.script.make_classpath$create_classpath.invokeStatic(make_classpath.clj:59)
at clojure.tools.deps.alpha.script.make_classpath$create_classpath.invoke(make_classpath.clj:52)
at clojure.tools.deps.alpha.script.make_classpath$run.invokeStatic(make_classpath.clj:70)
at clojure.tools.deps.alpha.script.make_classpath$run.invoke(make_classpath.clj:64)
at clojure.tools.deps.alpha.script.make_classpath$_main.invokeStatic(make_classpath.clj:109)
at clojure.tools.deps.alpha.script.make_classpath$_main.doInvoke(make_classpath.clj:84)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
在 clojure.lang.Var.applyTo(Var.java:705)
在 clojure.core$apply.invokeStatic(core.clj:665)
在 clojure.main$main_opt.invokeStatic(main.clj:491)
在 clojure.main$main_opt.invoke(main.clj:487)
在 clojure.main$main.invokeStatic(main.clj:598)
在 clojure.main$main.doInvoke(main.clj:561)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
在 clojure.lang.Var.applyTo(Var.java:705)
在 clojure.main.main(main.java:37)
原因:org.eclipse.jgit.errors.MissingObjectException: 找不到未知 40a14030a715ee4cc0a52b0efe0ad03c634f2e32
在 org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:169)
在 org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:236)
在 org.eclipse.jgit.dircache.DirCacheCheckout.checkoutEntry(DirCacheCheckout.java:1367)
在 org eclipse jgit api CheckoutCommand.checkoutPath(CheckoutCommand.java:528)
... 更多 40 个