Το ίδιο αποθετήριο λειτουργεί με git clone σε τερματικό και αποτυγχάνει σε εφαρμογή που χρησιμοποιεί JGit. Αυτή είναι σύγκριση δύο υλοποιήσεων, όχι απαραίτητα μεταξύ λειτουργικού και χαλασμένου αντιγράφου του ίδιου πελάτη.

Η αναφορά διαμόρφωσης του JGit λέει ότι η διαμόρφωση διακομιστή μεσολάβησης χρησιμοποιεί τους τυπικούς μηχανισμούς της Java μέσω java.net.ProxySelector. Μην υποθέτετε ότι κάθε επιλογή HTTP του εγγενούς Git υλοποιείται μόνο επειδή και οι δύο πελάτες κατανοούν ένα αρχείο διαμόρφωσης Git.

Προσδιορίστε την εφαρμογή που ενσωματώνει το JGit, την έκδοσή της και τη μεταφορά HTTP που επέλεξε. Η φιλοξενούσα εφαρμογή μπορεί να παρέχει ρυθμίσεις ή συμπεριφορά πέρα από τις αυτόνομες προεπιλογές του JGit.

Στη συνέχεια εξετάστε τη διαμόρφωση διακομιστή μεσολάβησης Java που είναι ορατή σε αυτή τη διεργασία. Για μεταφορά HTTP βασισμένη σε URLConnection, ελέγξτε τις ιδιότητες κεντρικού υπολογιστή και θύρας JVM που χρησιμοποιεί. Μια ιδιότητα που εισάγεται σε άσχετο τερματικό μετά την εκκίνηση της εφαρμογής δεν μπορεί να επαναδιαμορφώσει τη JVM που εκτελείται. Η εγγενής λειτουργία Git ενός IDE και η λειτουργία JGit του μπορούν επίσης να χρησιμοποιούν διαφορετικές διαδρομές.

Κρατήστε τον έλεγχο ταυτότητας διακομιστή μεσολάβησης χωριστά από την επιλογή διαδρομής. Οι ιδιότητες διακομιστή μεσολάβησης Java που προσδιορίζουν κεντρικό υπολογιστή και θύρα δεν υλοποιούν αυτόματα σχήμα κωδικού πρόσβασης. Χρησιμοποιήστε τον υποστηριζόμενο μηχανισμό ελέγχου ταυτότητας της φιλοξενούσας εφαρμογής.

Το χρήσιμο ερώτημα είναι «ποιον διακομιστή μεσολάβησης επέλεξε αυτό το αίτημα JGit;» και όχι «περιέχει η διαμόρφωση Git μου γραμμή διακομιστή μεσολάβησης;». Μια επιτυχία με εγγενές Git είναι πολύτιμη σύγκριση, αλλά δεν απαντά σε αυτό το ερώτημα που αφορά την υλοποίηση.

Σχετικά άρθρα