Saya tidak dapat menemukan atau menemukan dokumentasi tentang cara mengakses sumber komit lama dalam format Bit Bucket baru. Apakah ini mungkin lagi?
Saya tidak dapat menemukan atau menemukan dokumentasi tentang cara mengakses sumber komit lama dalam format Bit Bucket baru. Apakah ini mungkin lagi?
Jawaban:
Saya mengerti Anda ingin mengunduh versi yang lebih lama melalui antarmuka web BitBucket tanpa menggunakan klien Mercurial / Git.
Periksa pertanyaan terkait ini . Pada komentar, seseorang mengatakan bahwa tidak ada cara untuk melakukan itu. Untungnya, itu tidak sepenuhnya benar.
Dengan menavigasi pada halaman proyek BitBucket, saya tidak menemukan tautan untuk mengunduh versi sewenang-wenang. Ada tautan untuk mengunduh tag tertentu, dalam format:
https://bitbucket.org/owner/repository/get/v0.1.2.tar.gz
Tetapi dengan mengubah sedikit url di atas, mengubah nama tag dengan hash komit, seperti:
https://bitbucket.org/owner/repository/get/A0B1C2D.tar.gz
Anda sebenarnya dapat mengunduh versi tertentu.
Seperti yang disebutkan oleh Rakka Rage dalam komentar, menggantikan .tar.gz
dengan .zip
karya juga.
api.bitbucket.org
sekarang
bitbucket.org
Saya mencoba mencari tahu apakah mungkin untuk menelusuri kode komit sebelumnya seperti yang Anda bisa di GitHub dan itu membawa saya ke sini. Saya menggunakan informasi yang saya temukan di sini, dan setelah mengutak-atik url, saya benar-benar menemukan cara untuk menelusuri kode dari komitmen lama juga.
Saat Anda meramban kode, URL-nya seperti:
https://bitbucket.org/user/repo/src/
dan dengan menambahkan hash komit di akhir seperti ini:
https://bitbucket.org/user/repo/src/a0328cb
Anda dapat menelusuri kode pada titik komit itu. Saya tidak mengerti mengapa tidak ada kotak dropdown untuk memilih komit secara langsung, fitur sudah ada di sana. Aneh.
https://bitbucket.org/lyro/evil/src/8cbfd51
tetapi jika Anda masuk hg clone https://bitbucket.org/lyro/evil/src/8cbfd51
, Anda akan mendapatkan beberapa revisi acak, mungkin yang terbaru.
hg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master
. Sekarang, cukup ubah commits
url ke src
dan Anda meramban sumber lengkap di komit ini!
Kalau-kalau ada orang di perahu saya di mana tidak ada jawaban yang bekerja dengan tepat, inilah yang saya lakukan.
Mungkin server Bitbucket internal kami dibuat sedikit berbeda dari kebanyakan, tapi inilah URL yang biasanya saya buka hanya untuk melihat file di cabang utama:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse
Jika saya memilih cabang yang berbeda dari master dari menu drop down, saya mendapatkan ini:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=refs%2Fheads%2F<BRANCH_NAME>
Jadi saya mencoba melakukan ini dan berhasil:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=<COMMIT_ID>
Sekarang saya dapat menelusuri seluruh repo seperti pada saat komit itu.
Jawaban yang bagus dari beberapa tahun yang lalu. Sekarang Bitbucket membuatnya lebih mudah.
Tandai Komit yang ingin Anda unduh (sebagaimana disebutkan dalam jawaban oleh Rudy Matela).
Lalu buka Unduhan dan klik tab "Tag" dan Anda akan mendapatkan beberapa opsi untuk unduhan.
Sebagai catatan, Anda juga dapat mempermainkan URL dengan cara ini:
Saat menjelajahi sumber terbaru, Anda memiliki sesuatu seperti:
https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master
Cukup ganti hash komit dan hapus parameter GET:
https://bitbucket.org/my/repo/src/wantedcommithash/my.file
Harus +1 @Hein A. Grønnestad di atas: semuanya berfungsi, benar-benar bertanya-tanya mengapa tidak ada dalam GUI untuk menggunakannya.
Cara termudah adalah mengklik komit itu dan menambahkan tag ke komit itu. Saya telah memasukkan tag 'last_commit' dengan komit ini
Daripada pergi ke unduhan di sudut kiri nav sisi dalam ember bit. Klik unduh di sebelah kiri
Saya tahu ini sudah terlambat, tetapi dengan API 2.0 Anda dapat melakukannya
dari baris perintah dengan:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>
atau dalam php dengan:
$data = json_decode(file_get_contents("https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>", true));
maka Anda memiliki riwayat file Anda (dari komit terbaru hingga komit tertua):
{
"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
}
di mana values
> links
> self
menyediakan file pada saat dalam sejarah yang dapat Anda mengambilnya dengan curl <link>
atau file_get_contents(<link>)
.
Akhirnya, dari baris perintah Anda dapat memfilter dengan:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>?fields=values.links.self
di php, buat foreach
loop pada array $data
.
Catatan: jika <path_file>
memiliki /
Anda harus mengubahnya dalam %2F
.
Lihat dokumen di sini: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D