A natív Git működik a proxyn keresztül, a JGit viszont nem
A JGit egy Java-implementáció saját támogatott átviteli beállításokkal. A natív Git http.proxy bejegyzése nem univerzális konfiguráció minden Git-kliens számára.
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.