Vietinis Git veikia per tarpinį serverį, o JGit – ne
JGit yra Java implementacija su savo palaikomais transporto nustatymais. http.proxy įrašas vietiniame Git nėra universali konfigūracija kiekvienam Git klientui.
Ta pati saugykla veikia su git clone terminale ir nepavyksta programoje, kuri naudoja JGit. Tai dviejų implementacijų palyginimas, o ne būtinai to paties kliento veikiančios ir sugedusios kopijos palyginimas.
JGit konfigūracijos žinynas teigia, kad tarpinio serverio konfigūracija naudoja standartinius Java mechanizmus per java.net.ProxySelector. Nemanokite, kad kiekviena vietinio Git HTTP parinktis įgyvendinta vien todėl, kad abu klientai supranta Git konfigūracijos failą.
Nustatykite programą, kuri integruoja JGit, jos versiją ir pasirinktą HTTP transportą. Prieglobos programa gali suteikti nustatymų ar elgsenos, viršijančių savarankiškus JGit numatytuosius.
Tada patikrinkite Java tarpinio serverio konfigūraciją, matomą tam procesui. Jei HTTP transportas pagrįstas URLConnection, patikrinkite JVM prieglobos ir prievado savybes, kurias jis naudoja. Savybė, įvesta nesusijusiame terminale po programos paleidimo, negali iš naujo sukonfigūruoti veikiančios JVM. IDE vietinis Git veiksmas ir jo JGit veiksmas taip pat gali naudoti skirtingus kelius.
Laikykite tarpinio serverio autentifikavimą atskirai nuo maršruto pasirinkimo. Java tarpinio serverio savybės, nurodančios prieglobą ir prievadą, automatiškai neįgyvendina slaptažodžio schemos. Naudokite palaikomą prieglobos programos autentifikavimo mechanizmą.
Naudingas klausimas yra „kurį tarpinį serverį pasirinko ši JGit užklausa?“, o ne „ar mano Git konfigūracijoje yra tarpinio serverio eilutė?“. Vietinio Git sėkmė yra vertingas palyginimas, bet ji neatsako į šį implementacijai būdingą klausimą.