在Eclipse中使用本地git而不是jgit?

10

有没有办法配置egit使用本机(操作系统)的git而不是jgit实现?如果没有,是否有其他可替代的git Eclipse插件?

编辑#1 - 我应该指出,AWS CodeCommit使用凭据助手进行身份验证,从.gitconfig文件中:

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

我猜这是CodeCommit特有的东西,而不是在jgit中。


就此而言,当我尝试克隆一个代码库时,出现了“不允许使用git-upload-pack”的错误提示。我正在使用亚马逊CodeCommit,因此身份验证不是典型的用户名和密码方式。 - javamonkey79
2
EGit使用JGit,无法配置为使用本地Git。[Aptana Studio](http://www.aptana.com/products/studio3/download.html)带有一个插件,使用本地Git,但我不知道它是否可以在Aptana Studio之外使用。我知道的其他本地Git客户端不与Eclipse工作区集成。您确定“git-upload-pack not permitted”是JGit的缺点,无法解决,并且将在本地Git中工作吗? - Rüdiger Herrmann
当我尝试克隆一个存储库时,出现“不允许git-upload-pack”的错误。当我尝试推送\拉取时,我会遇到其他身份验证错误。我认为这是因为Amazon Code Commit使用IAM身份验证,而jgit由于某种原因无法与其配合使用。 - javamonkey79
JGit可以从/向Amazon S3获取和推送。不确定这是否与IAM相同。如果是,似乎可以使用所述技术在EGit内部进行认证。 - Rüdiger Herrmann
1个回答

7

EGit 严格使用 JGit,即 Git 的 Java 实现。

Aptana Studio3 中的 Git 插件似乎嵌入在产品源代码中 (github.com/aptana/studio3),但使用本地 Git。

有一个类jgit.transport.AmazonS3,在这个问题这个问题 (设置 IAM)中进行了说明。

这个线程中有一个有趣的讨论,可以提供修补程序的线索:

查看JGit 访问 S3 主机的方式后,发现 JGit 尝试使用虚拟主机样式请求 - http://bucketname.s3.amazonaws.com/ - 此请求样式对于位于 US Standard 区域的存储桶可以正常工作,但对于其他区域的 S3,S3 会将其重定向到正确的区域。

似乎 jgit 没有正确处理这个 HTTP 307 重定向,并且需要实现正确处理S3 的重定向的行为。


有趣。感谢您的澄清。请查看我的编辑,关于凭证助手的问题。 - javamonkey79
@javamonkey79 我确认凭证助手不是EGit/JGit的一部分:您需要调整该凭证助手(或在测试期间停用它)以查看错误是否仍然存在。 - VonC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接