最近将Jgit升级到5.10.0.202012080955-r。在此之后,我们将一个接一个地克隆一个裸的git存储库来获取IOException。到目前为止,它似乎没有造成任何明显的功能影响,但这是一个令人担忧的问题。这个问题只出现在Kubernetes部署中,而不会出现在Junit测试中。这是一个已知的问题吗?如果是,这里有什么变通方法或缺失的东西吗?
谢谢。
[36morg.eclipse.jgit.util.FS [0;39m [2m:[0;39m Cannot save config file 'FileBasedConfig[/.config/jgit/config]'
java.io.IOException: Creating directories for /.config/jgit failed
at org.eclipse.jgit.util.FileUtils.mkdirs(FileUtils.java:411) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
at org.eclipse.jgit.internal.storage.file.LockFile.lock(LockFile.java:130) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
at org.eclipse.jgit.storage.file.FileBasedConfig.save(FileBasedConfig.java:219) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
at org.eclipse.jgit.util.FS$FileStoreAttributes.saveToConfig(FS.java:735) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
at org.eclipse.jgit.util.FS$FileStoreAttributes.lambda$4(FS.java:424) ~[org.eclipse.jgit-5.10.0.202012080955-r.jar!/:5.10.0.202012080955-r]
at org.eclipse.jgit.util.FS$FileStoreAttributes$$Lambda$1660/0x00000000f4008230.run(Unknown Source) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:836) ~[na:na]发布于 2021-01-15 19:38:36
在这种情况下,Jgit试图在基于XDG_CONFIG_HOME的路径下创建一个配置文件。
如果未设置XDG_CONFIG_HOME,它将具有默认值$HOME/.config。这个特定的路径在我的Kubernetes环境中是不可访问的。
已将XDG_CONFIG_HOME更改为指向适当的路径。因此,Jgit将能够创建配置文件。
发布于 2021-03-26 21:39:31
设置XDG_CONFIG_HOME对我不起作用。我使用的是windows机器,下面的东西对我很有效。
在程序中传递下面的环境变量
HOMEDRIVE=C:;HOMEPATH=\Users\<YourUserName>https://stackoverflow.com/questions/65731005
复制相似问题