မူရင်း Git သည် proxy မှတစ်ဆင့် အလုပ်လုပ်သော်လည်း JGit မလုပ်ပါ
JGit သည် ၎င်း၏ကိုယ်ပိုင် ပံ့ပိုးထားသော သယ်ယူပို့ဆောင်ရေး ဆက်တင်များရှိသည့် Java အကောင်အထည်ဖော်မှုဖြစ်သည်။ မူရင်း Git ရှိ http.proxy ထည့်သွင်းမှုသည် Git client တိုင်းအတွက် ယေဘုယျ ဖွဲ့စည်းမှု မဟုတ်ပါ။
တူညီသော repository သည် terminal တွင် git clone ဖြင့် အလုပ်လုပ်ပြီး JGit အသုံးပြုသော application တွင် မအောင်မြင်ပါ။ ယင်းသည် အကောင်အထည်ဖော်မှု နှစ်ခုကြား နှိုင်းယှဉ်ချက်ဖြစ်ပြီး တူညီသော client ၏ အလုပ်လုပ်သော နှင့် ပျက်နေသော မိတ္တူများကြား နှိုင်းယှဉ်ချက် မဟုတ်ပါ။
JGit ၏ ဖွဲ့စည်းမှု လမ်းညွှန်တွင် proxy ဖွဲ့စည်းမှုသည် java.net.ProxySelector မှတစ်ဆင့် Java ၏ စံယန္တရားများကို အသုံးပြုသည်ဟု ဆိုထားသည်။ client နှစ်ခုစလုံး Git ဖွဲ့စည်းမှုဖိုင်ကို နားလည်သည်ဟူသော အကြောင်းကြောင့်သာ မူရင်း Git ၏ HTTP ရွေးချယ်မှုတိုင်းကို အကောင်အထည်ဖော်ထားသည်ဟု မယူဆပါနှင့်။
JGit ကို ထည့်သွင်းထားသော application၊ ၎င်း၏ version နှင့် ရွေးချယ်ထားသော HTTP သယ်ယူပို့ဆောင်ရေးကို ဖော်ထုတ်ပါ။ host application သည် JGit ၏ သီးခြား မူလတန်ဖိုးများထက် ကျော်လွန်သော ဆက်တင်များ သို့မဟုတ် အပြုအမူကို ပေးနိုင်သည်။
ထို့နောက် ထို process အတွက် မြင်နိုင်သော Java proxy ဖွဲ့စည်းမှုကို စစ်ဆေးပါ။ URLConnection အခြေခံ HTTP သယ်ယူပို့ဆောင်ရေးအတွက် ၎င်းအသုံးပြုသော JVM host နှင့် port ဂုဏ်သတ္တိများကို စစ်ဆေးပါ။ application စတင်ပြီးနောက် မသက်ဆိုင်သော terminal တွင် ထည့်သွင်းသော ဂုဏ်သတ္တိသည် လည်ပတ်နေသော JVM ကို ပြန်လည်ဖွဲ့စည်းနိုင်မည် မဟုတ်ပါ။ IDE ၏ မူရင်း Git လုပ်ဆောင်ချက်နှင့် ၎င်း၏ JGit လုပ်ဆောင်ချက်တို့လည်း မတူညီသော လမ်းကြောင်းများကို အသုံးပြုနိုင်သည်။
proxy အတည်ပြုခြင်းကို လမ်းကြောင်းရွေးချယ်မှုနှင့် ခွဲထားပါ။ host နှင့် port ကို ဖော်ပြသော Java proxy ဂုဏ်သတ္တိများသည် proxy စကားဝှက် အစီအစဉ်ကို အလိုအလျောက် အကောင်အထည်ဖော်သည် မဟုတ်ပါ။ host application ၏ ပံ့ပိုးထားသော အတည်ပြုခြင်း ယန္တရားကို အသုံးပြုပါ။
အသုံးဝင်သော မေးခွန်းမှာ “ဤ JGit တောင်းဆိုမှုသည် မည်သည့် proxy ကို ရွေးချယ်ခဲ့သနည်း?” ဖြစ်ပြီး “ကျွန်ုပ်၏ Git ဖွဲ့စည်းမှုတွင် proxy လိုင်း ပါဝင်ပါသလား?” မဟုတ်ပါ။ မူရင်း Git အောင်မြင်မှုသည် တန်ဖိုးရှိသော နှိုင်းယှဉ်ချက်ဖြစ်သော်လည်း အကောင်အထည်ဖော်မှုနှင့် သက်ဆိုင်သော ထိုမေးခွန်းကို ဖြေကြားခြင်း မရှိပါ။