Ugyanaz a tároló működik git clone paranccsal a terminálban, és meghiúsul egy JGit-et használó alkalmazásban. Ez két implementáció összehasonlítása, nem feltétlenül ugyanazon kliens működő és hibás példányáé.

A JGit konfigurációs referenciája szerint a proxybeállítás a Java szabványos mechanizmusait használja java.net.ProxySelector révén. Ne feltételezze, hogy a natív Git minden HTTP-opciója meg van valósítva, csak mert mindkét kliens érti a Git konfigurációs fájlját.

Azonosítsa a JGit-et beágyazó alkalmazást, annak verzióját és a választott HTTP-átvitelt. A gazdaalkalmazás a JGit önálló alapértelmezésein túli beállításokat vagy viselkedést is nyújthat.

Ezután vizsgálja meg az adott folyamat számára látható Java proxybeállítást. URLConnection-alapú HTTP-átvitel esetén ellenőrizze az általa használt JVM gazda- és porttulajdonságokat. Az alkalmazás indítása után egy másik terminálban megadott tulajdonság nem tudja újrakonfigurálni a futó JVM-et. Az IDE natív Git-művelete és JGit-művelete is különböző útvonalakat használhat.

Tartsa külön a proxyhitelesítést az útvonal kiválasztásától. A gazdát és portot azonosító Java proxytulajdonságok nem valósítanak meg automatikusan proxijelszó-sémát. Használja a gazdaalkalmazás támogatott hitelesítési mechanizmusát.

A hasznos kérdés az, hogy „melyik proxyt választotta ez a JGit-kérés?”, nem pedig az, hogy „tartalmaz-e a Git-konfigurációm proxysort?”. A natív Git sikere értékes összehasonlítás, de nem válaszol erre az implementációra jellemző kérdésre.

Kapcsolódó cikkek