- 2019 के मध्य में नौकरी तलाशते समय Google Goteam और Sourcegraph के बीच चुनना था
- Sourcegraph चुनने की वजह उसकी वह संस्कृति थी जिसमें सब कुछ खुले तौर पर बनाया जा सकता था
- सभी दस्तावेज़ डिफ़ॉल्ट रूप से सार्वजनिक थे, और technical तथा product RFC, PR/FAQ आदि सार्वजनिक Google Drive फ़ोल्डरों में रखे जाते थे
- सभी product implementation सार्वजनिक GitHub repository में किए जाते थे
- अब
sourcegraph/sourcegraph repository को private कर दिया गया है
- यह Sourcegraph की आकर्षक संस्कृति को नष्ट करने वाला फ़ैसला था
- Sourcegraph ने
sourcegraph/sourcegraph-public-snapshot नाम का एक सार्वजनिक snapshot छोड़ा है
संदर्भों को बनाए रखना
- Sourcegraph में काम करते समय engineering blog पर कई लेख लिखे थे
- उन कई लेखों में संदर्भ के रूप में संबंधित सार्वजनिक code के लिंक इस्तेमाल किए गए थे
- अब ये सभी लिंक टूट चुके हैं
- एक कहावत है, "कूल URI बदलते नहीं हैं"
- जानकारी को यथासंभव सुरक्षित रखने की कोशिश की जा रही है ताकि लिंक अचानक न टूटें
sourcegraph/sourcegraph को efritz/sourcegraph में fork किया गया
- fork pull request को inherit नहीं करता, और branch में सीधे संदर्भित न होने वाले commit दिखाई नहीं देते
- GitHub दस्तावेज़ों के अनुसार, public repository को private करने पर भी fork बना रहता है
- लेकिन मूल repository private होने पर
main branch के बाहर के commit गायब हो सकते हैं
संबंधित commit scrape करना
- सभी commit खोजने के लिए एक Go program चलाया गया
- इस program ने 2,645 pull request metadata files बनाई
jq का उपयोग करके JSON payload पढ़ा गया और डेटा निकाला गया
pr_ids.txt, commits.txt, replace_pairs.txt फ़ाइलें बनाई गईं
- दूसरा program चलाकर हर pull request के non-merged commit सूचीबद्ध किए गए
- इस program ने
commits.txt फ़ाइल में commit जोड़े
commit को नए repository network में इम्पोर्ट करना
- हर संबंधित SHA को शामिल करने वाली branch बनाकर उन्हें fork में इम्पोर्ट किया गया
- Bash script का उपयोग करके git कार्य क्रमवार किए गए
संदर्भों का पुनर्लेखन
- अब हर reference को fork के target से लिंक किया जा सकता है
xargs का उपयोग कर automation process लागू की गई
- सीधे commit reference को fork की ओर rewrite किया गया, और pull request reference को merge commit में rewrite किया गया
GN⁺ की संक्षिप्त टिप्पणी
- Sourcegraph के private होने से open source संस्कृति पर बड़ा प्रभाव पड़ा
- engineering blog के कई reference links टूट गए, और उन्हें सुरक्षित रखने के लिए काफ़ी मेहनत करनी पड़ी
- GitHub fork और scripts का उपयोग करके references rewrite किए गए और commit सुरक्षित रखे गए
- यह लेख open source projects की sustainability और reference links के महत्व को रेखांकित करता है
1 टिप्पणियां
Hacker News की राय
Sourcegraph CEO की राय:
दूसरे user की राय:
एक और user की राय:
दूसरे user की राय:
एक और user की राय:
एक और user की राय:
दूसरे user की राय:
दूसरे user की राय:
एक और user की राय:
दूसरे user की राय: