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.

Relaterte artikler