ئەسلى Git ۋاكالەتچى ئارقىلىق ئىشلەيدۇ، JGit ئىشلىمەيدۇ
JGit ئۆزىنىڭ قوللىنىدىغان يۆتكەش تەڭشەكلىرى بار Java ئىمپلىمېنتاتسىيەسى. ئەسلى Git تىكى http.proxy تۈرى ھەر بىر Git خېرىدارى ئۈچۈن ئومۇمىي سەپلىمە ئەمەس.
ئوخشاش ئامبار تېرمىنالدا git clone بىلەن ئىشلەيدۇ، ئەمما JGit ئىشلىتىدىغان ئەپتە مەغلۇپ بولىدۇ. بۇ ئىككى ئىمپلىمېنتاتسىيە ئارىسىدىكى سېلىشتۇرۇش، ئەلۋەتتە ئوخشاش خېرىدارنىڭ ئىشلەيدىغان ۋە بۇزۇلغان كۆچۈرمىسى ئارىسىدىكى سېلىشتۇرۇش ئەمەس.
JGit سەپلىمە قوللانمىسىدا ۋاكالەتچى سەپلىمىسىنىڭ java.net.ProxySelector ئارقىلىق Java نىڭ ئۆلچەملىك مېخانىزملىرىنى ئىشلىتىدىغانلىقى ئېيتىلغان. ئىككى خېرىدار Git سەپلىمە ھۆججىتىنى چۈشىنىدۇ دەپلا ئەسلى Git نىڭ ھەر بىر HTTP تاللانمىسى ئەمەلگە ئاشۇرۇلغان دەپ ئويلىماڭ.
JGit نى ئىچىگە ئالغان ئەپنى، ئۇنىڭ نەشرىنى ۋە تاللانغان HTTP يۆتكەشنى ئېنىقلاڭ. host ئەپ JGit نىڭ مۇستەقىل سۈكۈتتىكى قىممەتلىرىدىن ئاشقان تەڭشەك ياكى ھەرىكەت بېرەلەيدۇ.
ئاندىن شۇ جەريانغا كۆرۈنگەن Java ۋاكالەتچى سەپلىمىسىنى تەكشۈرۈڭ. URLConnection ئاساسىدىكى HTTP يۆتكەش ئۈچۈن، ئۇ ئىشلىتىدىغان JVM host ۋە port خاسلىقلىرىنى تەكشۈرۈڭ. ئەپ باشلانغاندىن كېيىن مۇناسىۋەتسىز تېرمىنالدا كىرگۈزۈلگەن خاسلىق ئىشلەۋاتقان JVM نى قايتا سەپلىيەلمەيدۇ. IDE نىڭ ئەسلى Git مەشغۇلاتى ۋە ئۇنىڭ JGit مەشغۇلاتىمۇ ئوخشىمىغان يوللارنى ئىشلىتىشى مۇمكىن.
ۋاكالەتچى دەلىللەشنى يول تاللاشتىن ئايرىڭ. host ۋە port نى بەلگىلەيدىغان Java ۋاكالەتچى خاسلىقلىرى ۋاكالەتچى پارول سىستېمىسىنى ئاپتوماتىك ئەمەلگە ئاشۇرمايدۇ. host ئەپ قوللايدىغان دەلىللەش مېخانىزمىنى ئىشلىتىڭ.
پايدىلىق سوئال “بۇ JGit تەلەپ قايسى ۋاكالەتچىنى تاللىدى؟” بولۇپ، “مېنىڭ Git سەپلىمەمدە ۋاكالەتچى قۇرى بارمۇ؟” ئەمەس. ئەسلى Git نىڭ مۇۋەپپەقىيىتى قىممەتلىك سېلىشتۇرۇش، ئەمما ئۇ ئىمپلىمېنتاتسىيەگە خاس بۇ سوئالغا جاۋاب بەرمەيدۇ.