जो भी कारण के लिए, svnसमाधान मेरे लिए काम नहीं करता है, और चूंकि मुझे svnकिसी और चीज की कोई आवश्यकता नहीं है, इसलिए इसे बनाने की कोशिश में समय बिताने का कोई मतलब नहीं था, इसलिए मैंने उन उपकरणों का उपयोग करके एक सरल समाधान की तलाश की जो मेरे पास पहले से ही थे। यह स्क्रिप्ट केवल curlऔर के awkरूप में वर्णित एक GitHub निर्देशिका में सभी फ़ाइलों को डाउनलोड करने के लिए उपयोग करता है "/:user:repo/contents/:path"।
GitHub REST API "GET /repos/:user:repo/contents/:path"कमांड के लिए कॉल का लौटा हुआ बॉडी
एक ऑब्जेक्ट देता है जिसमें "download_url"डायरेक्टरी में प्रत्येक फ़ाइल के लिए एक लिंक शामिल होता है ।
यह कमांड-लाइन स्क्रिप्ट कॉल करती है जो REST API उपयोग करती है curlऔर परिणाम AWK के माध्यम से भेजती है, जो सभी "फिल्टर_ लाइन" को फ़िल्टर करती है, लिंक से उद्धरण चिह्नों और अल्पविरामों को मिटाती है, और फिर कर्ल करने के लिए किसी अन्य कॉल का उपयोग करके लिंक को डाउनलोड करती है।
curl -s https://api.github.com/repos/:user/:repo/contents/:path | awk \
'/download_url/ { gsub("\"|,", "", $2); system("curl -O "$2"); }'