2024年Clojure状态调查!中分享您的想法。

欢迎!有关如何使用本网站的更多信息,请参阅关于页面。

+2
tools.deps
我尝试通过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 个

1 答案

0
参考:https://clojure.atlassian.net/browse/TDEPS-126 (由 alex+import 报告)
...