2015-03-16 12 views
8

क्या आपके मूल (ओएस) गिट का उपयोग करने के लिए egit को कॉन्फ़िगर करने का कोई तरीका है और jgit कार्यान्वयन नहीं है? यदि नहीं, तो क्या कोई वैकल्पिक गिट ग्रहण प्लगइन्स हैं?देशी गिट का उपयोग ग्रहण गिट में jgit नहीं है?

संपादित करें # 1 - मैं नोट करना चाहिए, एडब्ल्यूएस CodeCommit प्रमाणन के लिए एक credential helper का उपयोग करता है, .gitconfig से:

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

मेरा अनुमान है कि इस CodeCommit के लिए विशिष्ट कुछ है और jgit में नहीं है।

+0

Fwiw, मैं हो रही है "Git से अपलोड पैक की अनुमति नहीं" जब एक रिपोजिटरी क्लोन करने के लिए कोशिश कर रहा। मैं अमेज़ॅन कोड कॉमिट का उपयोग कर रहा हूं इसलिए प्रमाणीकरण सामान्य उपयोगकर्ता नाम और पासवर्ड नहीं है। – javamonkey79

+2

ईजीआईटी जेजीआईटी का उपयोग करता है और देशी गिट का उपयोग करने के लिए कॉन्फ़िगर नहीं किया जा सकता है। [Aptana स्टूडियो] (http://www.aptana.com/products/studio3/download.html) एक प्लग-इन के साथ आता है जो देशी गिट का उपयोग करता है लेकिन मुझे नहीं पता कि इसका उपयोग Aptana Studio के बाहर किया जा सकता है या नहीं। अन्य देशी गिट क्लाइंट जिन्हें मैं जानता हूं ग्रहण कार्यक्षेत्र के साथ एकीकृत नहीं है। क्या आप सुनिश्चित हैं कि _git-upload-pack की अनुमति नहीं है I jgit की कमी है जिसे आसपास काम नहीं किया जा सकता है और मूल गिट में काम करेगा? –

+0

@ रुडिगरहेरमैन "गिट-अपलोड-पैक की अनुमति नहीं है" एक रिपॉजिटरी क्लोन करने का प्रयास करते समय मुझे मिली त्रुटि है। \ पुश को धक्का देने की कोशिश करते समय मुझे अन्य प्रमाणीकरण त्रुटियां मिलती हैं। मुझे लगता है कि ऐसा इसलिए है क्योंकि अमेज़ॅन कोड प्रतिबद्ध IAM ऑथ का उपयोग करता है, और jgit किसी कारण से इसके साथ काम नहीं करता है। – javamonkey79

उत्तर

7

EGit सख्ती से JGit, Git के जावा कार्यान्वयन उपयोग करता है।

Aptana Sudio3 में गिट प्लगइन उत्पाद स्रोतों (github.com/aptana/studio3) में एम्बेड किया गया प्रतीत होता है, लेकिन मूल गीट का उपयोग करता है।

jgit.transport.AmazonS3 एक वर्ग है, जैसा कि this question और this one (setting IAM) में दिखाया गया है।

वहाँ एक दिलचस्प चर्चा in this thread जो पैच करने के लिए के रूप में एक सुराग की पेशकश कर सकते है:

how JGit access the S3 host को देखा है, JGit आभासी की मेजबानी की शैली अनुरोध का उपयोग कर बाल्टी का उपयोग करने की कोशिश करता है - http://bucketname.s3.amazonaws.com/ - इस अनुरोध शैली काम करता है यूएस मानक क्षेत्र में बाल्टी के साथ ठीक है, लेकिन अन्य क्षेत्रों के लिए S3 इसे सही क्षेत्र में HTTP 307 रीडायरेक्ट के साथ रीडायरेक्ट करता है।

ऐसा लगता है कि jgit इस HTTP 307 सही ढंग से अनुप्रेषित संभाल नहीं है, और व्यवहार को सही ढंग से redirects by S3 को संभालने के लिए लागू करने के लिए की आवश्यकता होगी।

+0

दिलचस्प। आपकी स्पष्टीकरण के लिए धन्यवाद। क्रेडेंशियल सहायक के बारे में मेरा संपादन देखें। – javamonkey79

+0

@ javamonkey79 मैं पुष्टि करता हूं कि क्रेडेंशियल हेल्पर ईजीआईटी/जेजीआईटी का हिस्सा नहीं है: यह देखने के लिए कि क्या त्रुटि बनी रहती है, आपको उस क्रेडेंशियल हेल्पर को ट्विक करना होगा (या परीक्षण के लिए इसे निष्क्रिय करना होगा)। – VonC

1

एडब्ल्यूएस कोड के लिए HTTPS URLCommit रिपॉजिटरीज़ को एडब्ल्यूएस गुप्त पहुंच कुंजी से उत्पन्न प्रमाण-पत्र की आवश्यकता होती है। These credentials expire in ~15 minutes। कमांड लाइन गिट के लिए, एडब्ल्यूएस प्रमाण पत्र उत्पन्न करने के लिए सहायक प्रदान करता है।

EGit JGit उपयोग करता है। यहां एक उदाहरण दिया गया है कि generate the credentials from an AWS access key in JGit कैसे करें। अगला कदम इस तरह की तकनीक का उपयोग करना होगा और इसका उपयोग करने के लिए ईजीआईटी का विस्तार करना होगा।

संबंधित मुद्दे