जैसा कि सिस्टम आर्किटेक्चर में कहा गया है, यह उन 4 स्क्रिप्ट्स में से पहली है जिन्हें मैंने लिखना शुरू किया था। उत्साहित महसूस हुआ! यह "विकी" अनुभव बनाने की दिशा में एक कदम था जिसे GitHub UI के साथ इंटरफेस किए बिना ओपन सोर्स में योगदान मिलता है?
ये जेएस फ़ाइलें हैं जिनमें कुछ संबंधित पुन: प्रयोज्य फ़ंक्शन हैं जो विशेष रूप से गिटहब एपीआई के साथ बातचीत करने के लिए उपयोग किए जाते हैं; उन्हें या तो एक ही स्क्रिप्ट के भीतर उपभोग किया जाता है या प्रोजेक्ट के भीतर कहीं और उनकी आधार कार्यक्षमता निष्पादित करने के लिए निर्यात किया जाता है। वे किसी उपयोगकर्ता के प्रमाणित ऑक्टोकिट इंस्टेंस को दूसरों से अलग पैरामीटर के रूप में स्वीकार करते हैं, इस इंस्टेंस का उपयोग प्रमाणित उपयोगकर्ता की ओर से GitHub API के माध्यम से क्रियाएं/कार्य करने के लिए किया जाता है।
GitHub UI के साथ इंटरफेस किए बिना ओपन सोर्स में योगदान का प्रवाह बनाने की आवश्यकता का मतलब है कि हमें कुछ प्रक्रिया को स्वचालित करना होगा - उपयोगकर्ता द्वारा GitHub UI के माध्यम से योगदान करने के लिए उठाए जाने वाले हर कदम का अनुकरण करना, चरण इस प्रकार हैं इस प्रकार है..
मैंने प्रारंभिक प्रतिबद्धता के तुरंत बाद इस स्क्रिप्ट को लिखना शुरू कर दिया था, यह वास्तव में पीआर #2 था, लेकिन लंबे महीने के ब्रेक के दौरान इसमें गिरावट आई? बेस डिक्शनरी फीचर पर काम पर वापस आने से पहले मैंने प्रोजेक्ट से लिया।
यहाँ कार्य "द फोर्क स्क्रिप्ट" बनाना था - जिसका अंतिम लक्ष्य किसी उपयोगकर्ता के खाते से Jargons.dev रेपो का एक फोर्क बनाना/प्राप्त करना है। इसमें प्रत्येक फ़ंक्शन होना चाहिए जो निम्नलिखित कार्य करेगा।
असाइनमेंट को समझते हुए, मैं सीधे स्क्रिप्ट पर काम करने में "तल्लीन" हो गया।
हार्ट्स पर अपने रोजमर्रा के काम में लगातार उपयोग के कारण मैं पहले से ही GitHub API का आदी हो गया हूं ❤️... तो मेरे लिए GitHub का फोर्क डॉक्यूमेंटेशन एक ब्रॉस्की की तरह लग रहा था?...
मेरे दिमाग में चल रहा है? जब मैंने यह स्क्रिप्ट लिखी थी तो यह एक विचार था जिसे मैंने GitHub Fork दस्तावेज़ीकरण पर नीचे उद्धृत पैराग्राफ को पढ़ने के बाद कायम रखा था
नोट: रिपॉजिटरी को फोर्क करना अतुल्यकालिक रूप से होता है। गिट ऑब्जेक्ट तक पहुंचने से पहले आपको थोड़े समय तक इंतजार करना पड़ सकता है। यदि इसमें 5 मिनट से अधिक समय लगता है, तो GitHub समर्थन से संपर्क करना सुनिश्चित करें।
मैंने इसे गलत समझा और मान लिया कि हम केवल एक कांटा प्रक्रिया शुरू करने में सक्षम होंगे, आगे बढ़ेंगे और निश्चित रूप से एक प्रतिक्रिया वस्तु की प्रतीक्षा करने में सक्षम नहीं होंगे जो नए कांटा का विवरण लौटाएगा क्योंकि हम नहीं जानते हैं जब कांटा प्रक्रिया पूरी हो जाती है.
इस धारणा ने मुझे मुख्य forkRepositoryfunction से कोई भी डेटा वापस न करने के लिए मजबूर किया और मैं पहले से ही इस बिंदु पर सोचना शुरू कर रहा था - मैं योगदान प्रक्रिया के अगले चरण में संसाधित करने के लिए कांटा विवरण कैसे प्राप्त करूंगा!? हम्म, शायद मैं वेबहुक का उपयोग करूंगा?!?
यह पता चला कि मैं इसके बारे में बहुत अधिक सोच रहा था?, मुझे बाद में एहसास हुआ कि मुझे वास्तव में फोर्क के लिए एक प्रतिक्रिया विवरण मिलेगा और इसने मुझे खपत के लिए फोर्क प्रतिक्रिया ऑब्जेक्ट से आवश्यक डेटा वापस करने के लिए एक अनुवर्ती पीआर करने के लिए प्रेरित किया। योगदान प्रक्रिया.
मुख्य:
यह पुल अनुरोध फोर्क स्क्रिप्ट को लागू करता है; इस स्क्रिप्ट का उपयोग मुख्य प्रोजेक्ट रेपो को उपयोगकर्ता खाते में प्रोग्रामेटिक रूप से फोर्क करने के लिए किया जाना है; इसमें एक मुख्य कार्य और अन्य सहायक कार्य शामिल हैं जिनका उपयोग यह एक कुशल रेपो फोर्क संचालन सुनिश्चित करने के लिए कुछ आवश्यक कार्य करने के लिए करता है।
समाधान #2
https://github.com/babblebey/jargons.dev/assets/25631971/16221b7e-3c28-4c6c-a1f3-24d583ce7e3a
?
यह पीआर #3 पर फोर्क स्क्रिप्ट के प्रारंभिक कार्यान्वयन में छूटे हुए चरण का अनुवर्ती है; फ़ोर्क स्क्रिप्ट एक रेपो लौटाने में विफल रही जिसका उपयोग गणना के अगले चरण में किया जा सकता है। ऐसा प्रारंभिक कार्यान्वयन के दौरान मेरी एक अजीब धारणा के कारण था। ?मेरी धारणा नीचे देखें...
मेरा मानना है कि "POST /repos/{owner}/{repo}/forks" एंडपॉइंट पर कॉल हमें किसी प्रतिक्रिया का आश्वासन दिए बिना केवल फोर्क प्रक्रिया शुरू करने का आश्वासन देती है। इसका मतलब है कि हमें कॉल के बाद वास्तव में कोई प्रतिक्रिया नहीं मिल सकती है।
...लेकिन यह सच नहीं था, मुझे पता चला कि एक प्रतिक्रिया डेटा वास्तव में आता है, लेकिन इसमें कुछ समय लग सकता है और केवल उन मामलों में जहां रेपो का कांटा बहुत बड़ा है.... और फिलहाल प्रोजेक्ट रेपो को फोर्क करना 5 सेकंड से भी कम समय में होता है।
?
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3