যে কারণেই হোক না কেন, svn
সমাধানটি আমার পক্ষে কাজ করে না, এবং যেহেতু আমার svn
আর কোনও কিছুর প্রয়োজন নেই , তাই এটি তৈরির চেষ্টা করে সময় ব্যয় করার কোনও মানে হয় না, তাই আমি ইতিমধ্যে থাকা সরঞ্জামগুলি ব্যবহার করে একটি সহজ সমাধান সন্ধান করেছি। এই স্ক্রিপ্টটি কেবল curl
এবং awk
হিসাবে বর্ণনা করা একটি গিটহাব ডিরেক্টরিতে সমস্ত ফাইল ডাউনলোড করতে ব্যবহার করে "/:user:repo/contents/:path"
।
গিটহাব আরএসটি এপিআই "GET /repos/:user:repo/contents/:path"
কমান্ডের কলের ফিরে আসা অংশটি
এমন একটি বস্তু দেয় যা "download_url"
ডিরেক্টরিতে প্রতিটি ফাইলের জন্য একটি লিঙ্ক অন্তর্ভুক্ত করে ।
এই কমান্ড-লাইন স্ক্রিপ্টটি কল করে যে REST এআইপিআই ব্যবহার curl
করে ফলাফলটি প্রেরণ করে, যা "ডাউনলোড_আরল" লাইনগুলি বাদ দিয়ে সমস্ত ফিল্টার করে, লিঙ্কগুলি থেকে উদ্ধৃতি চিহ্ন এবং কমাগুলি মুছে দেয় এবং তারপরে কার্লের জন্য অন্য কল ব্যবহার করে লিঙ্কগুলি ডাউনলোড করে।
curl -s https://api.github.com/repos/:user/:repo/contents/:path | awk \
'/download_url/ { gsub("\"|,", "", $2); system("curl -O "$2"); }'