除了美国标准的 S3 存储桶之外,是否可以使用 JGit 的其他位置(即通过配置文件等),还是我在这里做错了什么?
如果我尝试将位于 EU 的 S3 存储桶与 JGit 一起使用,jgit 会抛出错误
-> jgit push origin master
Counting objects: 3
Finding sources: 100% (3/3)
Getting sizes: 100% (2/2)
Compressing objects: 100% (1/1)
Writing objects: 100% (3/3)
java.lang.NullPointerException
at org.eclipse.jgit.transport.AmazonS3.error(AmazonS3.java:518)
at org.eclipse.jgit.transport.AmazonS3.putImpl(AmazonS3.java:505)
...
但是,当我尝试使用位于美国标准的存储桶时,一切正常。
-> git push origin master
Counting objects: 3
Finding sources: 100% (3/3)
Getting sizes: 100% (2/2)
Compressing objects: 100% (1/1)
Writing objects: 100% (3/3)
Put pack-132548a..idx: 100% (1/1)
To amazon-s3://.jgit@usreponame/chef-receipes.git
* [new branch] master -> master
The NullPointerException
由于 JGit 中的错误而发生。 Amazone S3 API 返回的代码既不是 200 也不是 500,并且 JGit 尝试从连接读取错误流,并且不防范空错误流。
我已针对此问题提出了修复建议here https://git.eclipse.org/r/#/c/5255/.
应用此更改后,实际的响应代码应出现在异常消息中,这将有望明确失败的原因。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)