Repositori yang sama berfungsi dengan git clone dalam terminal dan gagal dalam aplikasi yang menggunakan JGit. Itu perbandingan antara dua pelaksanaan, bukan semestinya antara salinan yang berfungsi dan yang rosak bagi klien yang sama.

Rujukan konfigurasi JGit menyatakan konfigurasi proksi menggunakan mekanisme standard Java melalui java.net.ProxySelector. Jangan anggap setiap pilihan HTTP Git asli dilaksanakan semata-mata kerana kedua-dua klien memahami fail konfigurasi Git.

Kenal pasti aplikasi yang membenamkan JGit, versinya dan pengangkutan HTTP yang dipilih. Aplikasi hos boleh menyediakan tetapan atau tingkah laku melebihi nilai lalai JGit yang tersendiri.

Kemudian periksa konfigurasi proksi Java yang kelihatan kepada proses itu. Untuk pengangkutan HTTP berasaskan URLConnection, periksa sifat hos dan port JVM yang digunakannya. Sifat yang dimasukkan dalam terminal tidak berkaitan selepas aplikasi dimulakan tidak boleh mengkonfigurasi semula JVM yang sedang berjalan. Operasi Git asli IDE dan operasi JGitnya juga boleh menggunakan laluan berbeza.

Asingkan pengesahan proksi daripada pemilihan laluan. Sifat proksi Java yang mengenal pasti hos dan port tidak melaksanakan skema kata laluan proksi secara automatik. Gunakan mekanisme pengesahan yang disokong oleh aplikasi hos.

Soalan yang berguna ialah “proksi manakah yang dipilih oleh permintaan JGit ini?”, bukan “adakah konfigurasi Git saya mengandungi baris proksi?”. Kejayaan Git asli ialah perbandingan yang berharga, tetapi ia tidak menjawab soalan khusus pelaksanaan itu.

Artikel berkaitan