নতুন বিট বালতি ফর্ম্যাটে কীভাবে কোনও পুরানো প্রতিশ্রুতির উত্স অ্যাক্সেস করতে হবে সে সম্পর্কে ডকুমেন্টেশনটি আমি খুঁজে বের করতে বা খুঁজে পেতে পারি না। এটা কি আর সম্ভব?
নতুন বিট বালতি ফর্ম্যাটে কীভাবে কোনও পুরানো প্রতিশ্রুতির উত্স অ্যাক্সেস করতে হবে সে সম্পর্কে ডকুমেন্টেশনটি আমি খুঁজে বের করতে বা খুঁজে পেতে পারি না। এটা কি আর সম্ভব?
উত্তর:
আমি বুঝতে পেরেছি আপনি কোনও মার্চুরিয়াল / গিট ক্লায়েন্ট ব্যবহার না করে বিটবকেট ওয়েব ইন্টারফেসের মাধ্যমে একটি পুরানো সংস্করণ ডাউনলোড করতে চান।
এই সম্পর্কিত প্রশ্ন পরীক্ষা করুন । মন্তব্যগুলিতে, কেউ বলেছেন যে এটি করার কোনও উপায় নেই। ভাগ্যক্রমে, এটি সম্পূর্ণ সত্য নয়।
বিটবাকেট প্রকল্পের পৃষ্ঠাগুলিতে নেভিগেট করে, আমি একটি স্বেচ্ছাসেবী সংস্করণ ডাউনলোড করার কোনও লিঙ্ক পাইনি। বিন্যাসে নির্দিষ্ট ট্যাগগুলি ডাউনলোড করার লিঙ্ক রয়েছে:
https://bitbucket.org/owner/repository/get/v0.1.2.tar.gz
তবে উপরের ইউআরএলটি কিছুটা টুইট করে, কমিট হ্যাশ দ্বারা ট্যাগের নাম পরিবর্তন করে যেমন:
https://bitbucket.org/owner/repository/get/A0B1C2D.tar.gz
আপনি আসলে একটি নির্দিষ্ট সংস্করণ ডাউনলোড করতে পারেন।
রক্কা রাগ একটি মন্তব্যে উল্লেখ করেছেন , কাজগুলি .tar.gz
দ্বারা প্রতিস্থাপনও .zip
।
api.bitbucket.org
এখনই হওয়া উচিত
bitbucket.org
আমি গিটহাবের মতো আগের কমিটের কোডটি ব্রাউজ করা সম্ভব কিনা তা সনাক্ত করার চেষ্টা করছিলাম এবং এটি আমাকে এখানে এনেছে। আমি এখানে যে তথ্য পেয়েছি তা ব্যবহার করেছিলাম এবং ইউআরএলগুলি ঘিরে ফেলার পরে, আমি আসলে পুরানো কমিটের কোডটি ব্রাউজ করার উপায় খুঁজে পেয়েছি।
আপনি যখন নিজের কোডটি ব্রাউজ করছেন তখন ইউআরএলটি এমন কিছু:
https://bitbucket.org/user/repo/src/
এবং শেষে এইভাবে একটি প্রতিশ্রুতিবদ্ধ হ্যাশ যুক্ত করে:
https://bitbucket.org/user/repo/src/a0328cb
আপনি সেই কমিটের বিন্দুতে কোডটি ব্রাউজ করতে পারেন। সরাসরি কমিট বেছে নেওয়ার জন্য কেন ড্রপডাউন বাক্স নেই তা আমি বুঝতে পারি না, বৈশিষ্ট্যটি ইতিমধ্যে রয়েছে। স্ট্রেঞ্জ।
https://bitbucket.org/lyro/evil/src/8cbfd51
তবে আপনি প্রবেশ করলে আপনি hg clone https://bitbucket.org/lyro/evil/src/8cbfd51
কিছু এলোমেলো সংশোধন পাবেন, সম্ভবত সর্বশেষতম।
hg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master
। এখন, কেবলমাত্র commits
url এ পরিবর্তন করুন src
এবং আপনি এই প্রতিশ্রুতিতে পুরো উত্সটি ব্রাউজ করছেন!
কেবলমাত্র যদি আমার নৌকায় কেউ থাকে যেখানে এই উত্তরগুলির কোনওটি ঠিক কাজ করে না, আমি এখানে যা করেছি তা এখানে।
সম্ভবত আমাদের বাসার বিটবকেট সার্ভারটি বেশিরভাগের থেকে কিছুটা আলাদাভাবে সেট আপ করা হয়েছে তবে এখানে URL টি যে আমি সাধারণত মাস্টার ব্রাঞ্চের ফাইলগুলি দেখতে যেতে চাই:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse
যদি আমি ড্রপ ডাউন মেনু থেকে মাস্টারের চেয়ে আলাদা শাখা নির্বাচন করি তবে আমি এটি পেয়েছি:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=refs%2Fheads%2F<BRANCH_NAME>
সুতরাং আমি এটি করার চেষ্টা করেছি এবং এটি কাজ করেছে:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=<COMMIT_ID>
এখন আমি পুরো রেপো ব্রাউজ করতে পারি যেমন ছিল সেই প্রতিশ্রুতির সময় was
বছর কয়েক আগে দুর্দান্ত উত্তর এখন বিটবকেট আরও সহজ করে তুলেছে।
আপনি যে প্রতিশ্রুতিটি ডাউনলোড করতে চান তা ট্যাগ করুন (রুডি মাটেলার উত্তর হিসাবে উল্লিখিত)।
তারপরে ডাউনলোডগুলিতে যান এবং "ট্যাগস" ট্যাবটি ক্লিক করুন এবং আপনি ডাউনলোডের জন্য একাধিক বিকল্প পাবেন।
রেকর্ডের জন্য, আপনি এইভাবে ইউআরএলগুলির চারপাশে খেলনা করতে পারেন:
সর্বশেষতম উত্সটি ব্রাউজ করার সময় আপনার মতো কিছু রয়েছে:
https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master
কেবল কমিট হ্যাশ পরিবর্তন করুন এবং জিইটি প্যারামিটারটি সরান:
https://bitbucket.org/my/repo/src/wantedcommithash/my.file
উপরে +1 হেইন এ। গ্রাননেস্টেডে গিয়েছেন: জিইআইআই ব্যবহার করার জন্য কেন কিছুই নেই তা সত্যিই ভাবছে working
সবচেয়ে সহজ উপায় হল সেই প্রতিশ্রুতিতে ক্লিক করা এবং সেই প্রতিশ্রুতিতে একটি ট্যাগ যুক্ত করা। আমি এই প্রতিশ্রুতি দিয়ে ট্যাগ 'সর্বশেষ_কমিট' অন্তর্ভুক্ত করেছি
বিট বালতিতে পাশের নেভের বাম কোণে ডাউনলোডগুলি করতে যান। বাম দিকে ডাউনলোড ক্লিক করুন
আমি জানি এটি খুব দেরী হয়ে গেছে, তবে এপিআই 2.0 দিয়ে আপনি এটি করতে পারেন
কমান্ড লাইন থেকে:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>
বা পিএইচপি এর সাথে:
$data = json_decode(file_get_contents("https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>", true));
তারপরে আপনার ফাইলটির ইতিহাস রয়েছে (অতি সাম্প্রতিক প্রতিশ্রুতি থেকে সবচেয়ে পুরানোটিকে):
{
"pagelen": 50,
"values": [
{
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<hash>/<path_file>"
},
"meta": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD>/<path_file>?format=meta"
},
"history": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD>/<path_file>"
}
},
"commit": {
"hash": "<HEAD>",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD>"
},
"html": {
"href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD>"
}
}
},
"attributes": [],
"path": "<path_file>",
"type": "commit_file",
"size": 31
},
{
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>"
},
"meta": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/src/<HEAD~1>/<path_file>?format=meta"
},
"history": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<HEAD~1>/<path_file>"
}
},
"commit": {
"hash": "<HEAD~1>",
"type": "commit",
"links": {
"self": {
"href": "https://api.bitbucket.org/2.0/repositories/<user>/<repo>/commit/<HEAD~1>"
},
"html": {
"href": "https://bitbucket.org/<user>/<repo>/commits/<HEAD~1>"
}
}
},
"attributes": [],
"path": "<path_file>",
"type": "commit_file",
"size": 20
}
],
"page": 1
}
যেখানে values
> links
> self
ইতিহাসে মুহূর্ত যা আপনার সাথে উদ্ধার করতে পারেন এ ফাইল উপলব্ধ curl <link>
বা file_get_contents(<link>)
।
অবশেষে, কমান্ড লাইন থেকে আপনি এর মাধ্যমে ফিল্টার করতে পারেন:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>?fields=values.links.self
পিএইচপি- foreach
তে, অ্যারেতে কেবল একটি লুপ তৈরি করুন $data
।
দ্রষ্টব্য: যদি <path_file>
একটি থাকে তবে /
আপনাকে এটিতে রূপান্তর করতে হবে %2F
।
ডকটি এখানে দেখুন: https://developer.atlassian.com/bitbucket/api/2/references/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D