Det samme repositoriet fungerer med git clone i en terminal og feiler i et program som bruker JGit. Det er en sammenligning mellom to implementeringer, 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 opprinnelig Git er implementert bare fordi begge klientene forstår en Git-konfigurasjonsfil.

Identifiser programmet som bygger inn JGit, versjonen og den valgte HTTP-transporten. Vertprogrammet 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 programmet er startet, kan ikke omkonfigurere den kjørende JVM-en. En IDEs opprinnelige Git-operasjon og dens JGit-operasjon kan også bruke forskjellige veier.

Hold proxyautentisering atskilt fra rutvalg. Java-proxyegenskaper som angir vert og port implementerer ikke automatisk et proxy-passordsystem. Bruk vertsprogrammets 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 opprinnelig Git er en verdifull sammenligning, men den svarer ikke på det implementasjonsspesifikke spørsmålet.

Relaterte artikler