Innebygd Git fungerer gjennom proxyen, men JGit gjør det ikke
JGit er en Java-implementasjon med egne støttede transportinnstillinger. En http.proxy-oppføring i innebygd Git er ikke en universell konfigurasjon for enhver Git-klient.
Samme repositorium fungerer med git clone i en terminal og mislykkes i en applikasjon som bruker JGit. Det er en sammenligning mellom to implementasjoner, ikke nødvendigvis mellom en fungerende og en ødelagt kopi av samme klient.
JGit-konfigurasjonsreferansen sier at proxykonfigurasjon bruker Javas standardmekanismer gjennom java.net.ProxySelector. Ikke anta at hver HTTP-innstilling i innebygd Git er implementert bare fordi begge klientene forstår en Git-konfigurasjonsfil.
Identifiser applikasjonen som bygger inn JGit, versjonen og den valgte HTTP-transporten. Vertapplikasjonen kan tilby innstillinger eller atferd utover JGit sine selvstendige standardverdier.
Undersøk deretter Java-proxykonfigurasjonen som er synlig for den prosessen. For en URLConnection-basert HTTP-transport, kontroller JVM-vert- og portegenskapene den bruker. En egenskap som skrives inn i en urelatert terminal etter at applikasjonen er startet, kan ikke omkonfigurere den kjørende JVM-en. En IDEs innebygde Git-operasjon og dens JGit-operasjon kan også bruke forskjellige veier.
Hold proxyautentisering atskilt fra rutevalg. Java-proxyegenskaper som angir vert og port implementerer ikke automatisk et proxy-passordsystem. Bruk vertapplikasjonens støttede autentiseringsmekanisme.
Det nyttige spørsmålet er «hvilken proxy valgte denne JGit-forespørselen?», ikke «inneholder Git-konfigurasjonen min en proxylinje?». En suksess med innebygd Git er en verdifull sammenligning, men den svarer ikke på det implementasjonsspesifikke spørsmålet.