2012-03-05 9 views
2

JGitのS3バケットには米国規格以外の場所(例えば設定ファイルなど)を使用することは可能でしょうか、ここで間違っていますか?標準USバケットのみのJGit S3サポートですか?

私はEUに位置している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://[email protected]/chef-receipes.git 
* [new branch]  master -> master 

答えて

4

NullPointerExceptionは、JGitのバグのために発生しています。 Amazone S3 APIは、200または500のコードではなく、JGitが接続からエラー・ストリームを読み取ろうとしていて、ヌル・エラー・ストリームに対してガードしていないコードを戻しています。

私はこの問題の修正案を提出しましたhere

この変更が適用されると、実際の応答コードが例外メッセージに表示され、失敗した理由がわかりやすくなります。

+0

この修正はJGitにコミットされました。最新のJGit 2.0ナイトリズをダウンロードした場合は、障害の原因となっているS3からの実際の応答コードを知ることができ、問題の原因を突き止めるのに役立ちます。 –

関連する問題