Natiivne Git töötab puhverserveri kaudu, JGit mitte
JGit on Java-teostus, millel on oma toetatud transpordiseaded. Natiivse Giti http.proxy kirje ei ole universaalne seadistus iga Git-kliendi jaoks.
Sama hoidla töötab terminalis git clone abil ja ebaõnnestub JGitit kasutavas rakenduses. See on kahe teostuse võrdlus, mitte tingimata sama kliendi töötava ja katkise koopia võrdlus.
JGiti konfiguratsiooniviide ütleb, et puhverserveri konfiguratsioon kasutab Java standardmehhanisme java.net.ProxySelector kaudu. Ärge eeldage, et iga natiivse Giti HTTP-valik on rakendatud ainult seetõttu, et mõlemad kliendid mõistavad Giti konfiguratsioonifaili.
Tehke kindlaks rakendus, mis JGitit manustab, selle versioon ja valitud HTTP-transport. Hostrakendus võib pakkuda seadeid või käitumist väljaspool JGiti iseseisvaid vaikeväärtusi.
Seejärel uurige Java puhverserveri konfiguratsiooni, mis on sellele protsessile nähtav. URLConnection-põhise HTTP-transpordi puhul kontrollige JVM-i hosti- ja pordiomadusi, mida see tarbib. Pärast rakenduse käivitamist mitteseotud terminali sisestatud omadus ei saa töötavat JVM-i ümber konfigureerida. IDE natiivne Git-toiming ja selle JGit-toiming võivad samuti kasutada erinevaid teid.
Hoidke puhverserveri autentimine marsruudi valikust eraldi. Java puhverserveri omadused, mis määravad hosti ja pordi, ei rakenda automaatselt puhverserveri parooliskeemi. Kasutage hostrakenduse toetatud autentimismehhanismi.
Kasulik küsimus on „millise puhverserveri see JGit-päring valis?”, mitte „kas minu Giti konfiguratsioon sisaldab puhverserveri rida?”. Natiivse Giti õnnestumine on väärtuslik võrdlus, kuid ei vasta sellele teostusele omasele küsimusele.