O mesmo repositorio funciona con git clone nunha terminal e falla nunha aplicación que usa JGit. É unha comparación entre dúas implementacións, non necesariamente entre unha copia que funciona e outra rota do mesmo cliente.

A referencia de configuración de JGit indica que a configuración do proxy usa os mecanismos estándar de Java mediante java.net.ProxySelector. Non asumas que todas as opcións HTTP do Git nativo están implementadas só porque ambos os clientes entenden un ficheiro de configuración Git.

Identifica a aplicación que integra JGit, a súa versión e o transporte HTTP escollido. A aplicación anfitrioa pode ofrecer axustes ou comportamento máis aló dos valores predeterminados autónomos de JGit.

Despois revisa a configuración de proxy de Java visible para ese proceso. Para un transporte HTTP baseado en URLConnection, comproba as propiedades de host e porto da JVM que consume. Unha propiedade introducida nunha terminal non relacionada despois de iniciar a aplicación non pode reconfigurar a JVM en execución. A operación Git nativa dun IDE e a súa operación JGit tamén poden usar camiños diferentes.

Mantén a autenticación do proxy separada da selección de ruta. As propiedades de proxy de Java que identifican un host e un porto non implementan automaticamente un esquema de contrasinal de proxy. Usa o mecanismo de autenticación admitido da aplicación anfitrioa.

A pregunta útil é «que proxy escolleu esta solicitude JGit?» e non «a miña configuración Git contén unha liña de proxy?». Un éxito do Git nativo é unha comparación valiosa, pero non responde a esa pregunta específica da implementación.

Artigos relacionados