2

除了美国标准之外的其他位置是否可以使用 JGit 的 S3 存储桶(即通过配置文件等)或者我在这里做错了什么?

如果我尝试使用位于欧盟的 JGit 的 S3 存储桶,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
4

1 回答 1

4

NullPointerException是由于 JGit 中的错误而发生的。Amazone S3 API 返回的代码既不是 200 也不是 500,而 JGit 正在尝试从连接中读取错误流,并且没有防范空错误流。

我已在此处推送了针对此问题的建议修复程序。

应用此更改后,实际的响应代码应出现在异常消息中,这有望说明失败的原因。

于 2012-03-06T01:30:13.860 回答