Git क्लोन "कनेक्टिविटी की जाँच" - यह क्या है?


11

जब एक कर git cloneSSH या HTTP पर एक रेपो की, आप आउटपुट प्राप्त है कि इस तरह दिखता है कुछ:

Cloning into 'some_directory'...
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 7 (delta 0), reused 5 (delta 0), pack-reused 0
Unpacking objects: 100% (7/7), done.
Checking connectivity... done.

मुझे उस अंतिम "कनेक्टिविटी की जाँच" कदम में दिलचस्पी है। यह रेपो के बाद होता है और इसके सभी मेटाडेटा को डाउनलोड किया गया है, अर्थात किसी भी इंटरनेट कनेक्टिविटी के समाप्त होने के बाद।

वास्तव में प्रक्रिया को पूरा करने का यह कदम क्या है?


1
क्या आपने Checking out files: 100% (2897/2897), done.बाद में देखा है Checking connectivity? ऐसा लगता है कि Receiving objectsवास्तव में सामग्री प्राप्त करने का मतलब यह नहीं है। उदाहरण के लिए, जब मैंने क्लोन किया git, तो मुझे आउटपुट की यह पंक्ति मिली Receiving objects: 100% (199562/199562), 84.06 MiB | 3.90 MiB/s, done.:। हालाँकि, जब मैंने GitHub से ज़िप डाउनलोड किया, तो विघटित निर्देशिका केवल 28 MiB थी। मुझे यकीन नहीं है कि इसका क्या मतलब है, लेकिन यह पिछले सभी कमिट्स या ऐसा कुछ का सारांश हो सकता है।
इक्यूब

1
@ecube: एक git रिपॉजिटरी को क्लोन करने से हर शाखा, कमिटमेंट और रिवीजन सहित इसके पूरे इतिहास की एक स्थानीय कॉपी बन जाती है। जीथुब द्वारा प्रदान की गई जिप फाइल जीआईटी रिपॉजिटरी नहीं है, बल्कि प्राथमिक शाखा पर रिपॉजिटरी के नवीनतम संशोधन का एक स्नैपशॉट है। उत्तरार्द्ध निश्चित रूप से हमेशा छोटा होगा।
बजे रेडॉन रोसबोरो

जवाबों:


15

मुझे लगता है कि इस शब्द connectivityका यहां नेटवर्क कनेक्टिविटी से कोई लेना-देना नहीं है। संदेश सभी डेटा पहले से ही git सर्वर से प्राप्त होने के बाद प्रदर्शित किया जाता है।

Git के सूत्रों में कुछ सुराग मिल सकते हैं। कनेक्टेड फ़ाइल में निम्नलिखित टिप्पणी है :

/*
 * If we feed all the commits we want to verify to this command
 *
 *  $ git rev-list --objects --stdin --not --all
 *
 * and if it does not error out, that means everything reachable from
 * these commits locally exists and is connected to our existing refs.
 * Note that this does _not_ validate the individual objects.
 *
 * Returns 0 if everything is connected, non-zero otherwise.
 */

यह फ़ंक्शन से संबंधित check_everything_connected_realहै जिसे Checking connectivity...संदेश प्रदर्शित होने के बाद कहा जाता है ।

तो इसका मूल रूप से मतलब यह है कि git यह जाँच रहा है कि क्या सभी वस्तुओं को सही तरीके से प्राप्त किया गया था (मौजूदा refs से जुड़ा है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.