मैं निम्नलिखित कोडjgchconfigsessionfactory के लिए jgit के लिए कॉन्फ़िगरेशन कैसे सेट करें ताकि काम खींचें और पुश करें?
org.eclipse.jgit.api.Git.open(theRepoFile).pull().call()
साथ jgit के एपीआई का उपयोग कर एक Git पुल/धक्का करने के लिए कोशिश कर रहा हूँ, लेकिन मैं अपवाद
JSchException Auth fail
com.jcraft.jsch.Session.connect (Session.java:461)
org.eclipse.jgit.transport.JschConfigSessionFactory.getSession (JschConfigSessionFactory.java:116)
org.eclipse.jgit.transport.SshTransport.getSession (SshTransport.java:121)
org.eclipse.jgit.transport.TransportGitSsh$SshPushConnection.<init> (TransportGitSsh.java:306)
org.eclipse.jgit.transport.TransportGitSsh.openPush (TransportGitSsh.java:152)
org.eclipse.jgit.transport.PushProcess.execute (PushProcess.java:130)
org.eclipse.jgit.transport.Transport.push (Transport.java:1127)
org.eclipse.jgit.api.PushCommand.call (PushCommand.java:153)
हो रही है यहां तक कि cgit पुल का उपयोग करते हुए और काम करता है धक्का हालांकि।
मैं उदाहरण कोड
के लिए इतना जाँच की कोशिश की लेकिन इसके बाद के संस्करण प्रश्न क्या एक Git एक दूरस्थ रेपो कि सामान्य रूप से ssh द्वारा प्रमाणीकृत है के साथ खींच करने के लिए आवश्यक है की एक पूरी कोडित उदाहरण प्रदान नहीं करता है चांबियाँ। ~/.ssh/
या विंडोज़ समतुल्य से प्रमाणिक जानकारी प्राप्त करने का एक तरीका होना चाहिए।
तो क्या आपने कोशिश की और यह काम किया? क्या आप इसे अधिक जानकारी में वर्णित कर सकते हैं, वास्तव में क्या करना है? प्रॉक्सी को किसी के कोड में एकीकृत करें? यह अगले डेवलपर को इस समस्या का सामना करने में मदद करेगा। – Vince
मैंने वास्तव में जेएसएच-एजेंट-प्रॉक्सी का उपयोग नहीं किया, मैंने अपना खुद का प्रमाण पत्र प्रदाता बनाया जिसने उपयोगकर्ता को पासफ्रेज के लिए कहा।यह वास्तव में क्लोजर में लिखा गया है लेकिन विवरण वहां हैं। https://github.com/bmillare/dj/blob/library/src/dj/git.clj – bmillare