2015-03-16 10 views
8

Có cách nào để cấu hình egit để sử dụng git bản địa (OS) của bạn và không phải là thực hiện jgit? Nếu không, có bất kỳ trình bổ sung git Eclipse nào khác không?Sử dụng git bản địa không phải jgit trong git Eclipse?

EDIT # 1 - Tôi nên lưu ý, AWS CodeCommit sử dụng một credential helper cho auth, từ .gitconfig:

[credential] 
    helper = !/usr/local/bin/aws --profile CodeCommitProfile codecommit credential-helper [email protected] 
    UseHttpPath = true 

Tôi đoán đây là một cái gì đó cụ thể để CodeCommit và không có trong jgit.

+0

FWIW, tôi nhận được "git-upload-pack không được phép" khi cố gắng sao chép kho lưu trữ. Tôi đang sử dụng mã AmazonCommit để xác thực không phải là tên người dùng và mật khẩu điển hình. – javamonkey79

+2

EGit sử dụng JGit và không thể được cấu hình để sử dụng Git gốc. [Aptana Studio] (http://www.aptana.com/products/studio3/download.html) đi kèm với một trình cắm có sử dụng Git gốc nhưng tôi không biết liệu nó có thể được sử dụng bên ngoài Aptana Studio hay không. Các máy khách Git bản địa khác mà tôi biết không tích hợp với không gian làm việc Eclipse. Bạn có chắc chắn rằng _git-upload-pack not allowed_ là một thiếu sót của JGit không thể làm việc xung quanh và sẽ làm việc trong Git bản địa không? –

+0

@ RüdigerHerrmann "git-upload-pack không được phép" là lỗi tôi nhận được khi cố gắng sao chép kho lưu trữ. Tôi nhận được các lỗi xác thực khác khi cố gắng đẩy \ kéo. Tôi nghĩ rằng điều này là do amazon mã cam kết sử dụng IAM auth, và jgit không làm việc với nó vì một lý do nào đó. – javamonkey79

Trả lời

7

EGit sử dụng nghiêm ngặt JGit, việc triển khai Java của Git.

Plugin Git ở Aptana Sudio3 dường như được nhúng trong nguồn sản phẩm (github.com/aptana/studio3), nhưng sử dụng Git gốc.

Có một lớp jgit.transport.AmazonS3, như minh họa trong this questionthis one (setting IAM).

Có một cuộc thảo luận thú vị in this thread mà có thể cung cấp một đầu mối như những gì để vá:

Sau khi nhìn how JGit access the S3 host, JGit cố gắng truy cập vào xô sử dụng yêu cầu phong cách tổ chức ảo - http://bucketname.s3.amazonaws.com/ - yêu cầu này tác phẩm theo phong cách tốt với các thùng trong khu vực tiêu chuẩn của Mỹ, nhưng đối với các khu vực khác, S3 chuyển hướng nó với chuyển hướng HTTP 307 đến vùng chính xác.

Dường như jgit không xử lý đúng chuyển hướng HTTP 307 này và sẽ cần triển khai hành vi để xử lý chính xác redirects by S3.

+0

Thú vị. Cảm ơn bạn đã làm rõ. Xem chỉnh sửa của tôi về trình trợ giúp thông tin xác thực. – javamonkey79

+0

@ javamonkey79 Tôi xác nhận trình trợ giúp thông tin xác thực không phải là một phần của EGit/JGit: bạn cần phải tinh chỉnh trình trợ giúp xác thực đó (hoặc hủy kích hoạt nó để kiểm tra) để xem lỗi có còn tồn tại hay không. – VonC

1

URL HTTPS cho mã AWSCác kho lưu trữ thông thường yêu cầu bằng chứng được tạo từ khóa truy cập bí mật AWS. These credentials expire in ~15 minutes. Đối với dòng lệnh Git, AWS cung cấp trình trợ giúp để tạo ra các thông tin xác thực.

EGit sử dụng JGit. Dưới đây là ví dụ về cách generate the credentials from an AWS access key in JGit. Bước tiếp theo sẽ là sử dụng một kỹ thuật như thế và mở rộng EGit để sử dụng nó.

Các vấn đề liên quan