ಸ್ಥಳೀಯ Git ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಆದರೆ JGit ಮಾಡುವುದಿಲ್ಲ
JGit ಎಂಬುದು ತನ್ನದೇ ಆದ ಬೆಂಬಲಿತ ಸಾಗಣೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಹೊಂದಿರುವ Java ಅನುಷ್ಠಾನ. ಸ್ಥಳೀಯ Git ನಲ್ಲಿನ http.proxy ನಮೂದು ಪ್ರತಿ Git ಕ್ಲೈಂಟ್ಗೂ ಸಾರ್ವತ್ರಿಕ ಸಂರಚನೆ ಅಲ್ಲ.
ಅದೇ ರಿಪೊಜಿಟರಿ ಟರ್ಮಿನಲ್ನಲ್ಲಿ git clone ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು JGit ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ. ಇದು ಎರಡು ಅನುಷ್ಠಾನಗಳ ನಡುವಿನ ಹೋಲಿಕೆ, ಅಗತ್ಯವಾಗಿ ಒಂದೇ ಕ್ಲೈಂಟ್ನ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮತ್ತು ಮುರಿದ ಪ್ರತಿಗಳ ನಡುವಿನ ಹೋಲಿಕೆ ಅಲ್ಲ.
JGit ನ ಸಂರಚನಾ ಉಲ್ಲೇಖವು ಪ್ರಾಕ್ಸಿ ಸಂರಚನೆಯು java.net.ProxySelector ಮೂಲಕ Java ನ ಪ್ರಮಾಣಿತ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ಹೇಳುತ್ತದೆ. ಎರಡೂ ಕ್ಲೈಂಟ್ಗಳು Git ಸಂರಚನಾ ಕಡತವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತವೆ ಎಂಬ ಕಾರಣಕ್ಕೆ ಸ್ಥಳೀಯ Git ನ ಪ್ರತಿಯೊಂದು HTTP ಆಯ್ಕೆಯೂ ಅನುಷ್ಠಾನಗೊಂಡಿದೆ ಎಂದು ಭಾವಿಸಬೇಡಿ.
JGit ಅನ್ನು ಹುದುಗಿಸಿರುವ ಅಪ್ಲಿಕೇಶನ್, ಅದರ ಆವೃತ್ತಿ ಮತ್ತು ಆಯ್ಕೆಮಾಡಿದ HTTP ಸಾಗಣೆಯನ್ನು ಗುರುತಿಸಿ. ಹೋಸ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ JGit ನ ಸ್ವತಂತ್ರ ಡೀಫಾಲ್ಟ್ಗಳಿಗಿಂತ ಹೆಚ್ಚಿನ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಅಥವಾ ವರ್ತನೆಯನ್ನು ಒದಗಿಸಬಹುದು.
ನಂತರ ಆ ಪ್ರಕ್ರಿಯೆಗೆ ಗೋಚರವಾಗುವ Java ಪ್ರಾಕ್ಸಿ ಸಂರಚನೆಯನ್ನು ಪರಿಶೀಲಿಸಿ. URLConnection ಆಧಾರಿತ HTTP ಸಾಗಣೆಗಾಗಿ, ಅದು ಬಳಸುವ JVM ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಾರಂಭವಾದ ನಂತರ ಸಂಬಂಧವಿಲ್ಲದ ಟರ್ಮಿನಲ್ನಲ್ಲಿ ನಮೂದಿಸಿದ ಗುಣಲಕ್ಷಣವು ಚಾಲನೆಯಲ್ಲಿರುವ JVM ಅನ್ನು ಮರುಸಂರಚಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. IDE ಯ ಸ್ಥಳೀಯ Git ಕಾರ್ಯಾಚರಣೆ ಮತ್ತು ಅದರ JGit ಕಾರ್ಯಾಚರಣೆಯೂ ಬೇರೆ ಬೇರೆ ಮಾರ್ಗಗಳನ್ನು ಬಳಸಬಹುದು.
ಪ್ರಾಕ್ಸಿ ದೃಢೀಕರಣವನ್ನು ಮಾರ್ಗ ಆಯ್ಕೆಯಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ. ಹೋಸ್ಟ್ ಮತ್ತು ಪೋರ್ಟ್ ಅನ್ನು ಗುರುತಿಸುವ Java ಪ್ರಾಕ್ಸಿ ಗುಣಲಕ್ಷಣಗಳು ಪ್ರಾಕ್ಸಿ ಪಾಸ್ವರ್ಡ್ ಯೋಜನೆಯನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅನುಷ್ಠಾನಗೊಳಿಸುವುದಿಲ್ಲ. ಹೋಸ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ನ ಬೆಂಬಲಿತ ದೃಢೀಕರಣ ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸಿ.
ಉಪಯುಕ್ತ ಪ್ರಶ್ನೆ ಎಂದರೆ “ಈ JGit ವಿನಂತಿ ಯಾವ ಪ್ರಾಕ್ಸಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿತು?”, “ನನ್ನ Git ಸಂರಚನೆಯಲ್ಲಿ ಪ್ರಾಕ್ಸಿ ಸಾಲು ಇದೆಯೇ?” ಅಲ್ಲ. ಸ್ಥಳೀಯ Git ನ ಯಶಸ್ಸು ಮೌಲ್ಯಯುತ ಹೋಲಿಕೆ, ಆದರೆ ಅದು ಅನುಷ್ಠಾನ-ನಿರ್ದಿಷ್ಟ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸುವುದಿಲ್ಲ.