Yeni Bit Bucket biçiminde eski bir taahhüdün kaynağına nasıl erişileceğine dair belgeleri bulamıyorum veya bulamıyorum. Bu artık mümkün mü?
Yeni Bit Bucket biçiminde eski bir taahhüdün kaynağına nasıl erişileceğine dair belgeleri bulamıyorum veya bulamıyorum. Bu artık mümkün mü?
Yanıtlar:
Mercurial / Git istemcisi kullanmadan BitBucket web arayüzü üzerinden eski bir sürümü indirmek istediğinizi belirtmişsiniz.
Bu ilgili soruyu kontrol edin . Yorumlarda, birisi bunu yapmanın bir yolu olmadığını söylüyor. Neyse ki, bu tamamen doğru değil.
BitBucket proje sayfalarında gezinerek, rastgele bir sürümü indirmek için bir bağlantı bulamadım. Belirli etiketleri indirmek için bağlantılar vardır:
https://bitbucket.org/owner/repository/get/v0.1.2.tar.gz
Ancak yukarıdaki URL'yi biraz değiştirerek, etiket adını taahhüt karma ile değiştirerek, örneğin:
https://bitbucket.org/owner/repository/get/A0B1C2D.tar.gz
Aslında belirli bir sürümü indirebilirsiniz.
Rakka Rage tarafından bir yorumda belirtildiği gibi , yerine .tar.gz
de .zip
çalışıyor.
api.bitbucket.org
şimdi olmalı
bitbucket.org
GitHub'da olduğu gibi önceki bir taahhüdün koduna göz atmanın mümkün olup olmadığını anlamaya çalışıyordum ve beni buraya getirdi. Burada bulduğum bilgileri kullandım ve URL'lerle uğraştıktan sonra, aslında eski taahhütlerin koduna göz atmanın bir yolunu buldum.
Kodunuza göz atarken, URL şuna benzer:
https://bitbucket.org/user/repo/src/
ve sonuna böyle bir sağlama karması ekleyerek:
https://bitbucket.org/user/repo/src/a0328cb
Bu işlemin yapıldığı noktada koda göz atabilirsiniz. Bir taahhüdü doğrudan seçmek için neden bir açılır kutu olmadığını anlamıyorum, özellik zaten orada. Garip.
https://bitbucket.org/lyro/evil/src/8cbfd51
ancak girerseniz hg clone https://bitbucket.org/lyro/evil/src/8cbfd51
, rastgele bir düzeltme, belki de en sonuncusu alırsınız.
hg clone -r8cbfd51 https://bitbucket.org/lyro/evil/src/
https://bitbucket.org/user/project/commits/0000000000000000000000000000000000000000?at=master
. Şimdi, commits
URL'yi değiştirin src
ve bu işlemde tam kaynağa göz atıyorsunuz!
Teknemin bu cevapların hiçbirinin tam olarak işe yaramadığı bir yerde olması durumunda, işte yaptım.
Belki de şirket içi Bitbucket sunucumuz çoğudan biraz farklı bir şekilde ayarlanmıştır, ancak normalde sadece ana daldaki dosyaları görüntülemek için gideceğim URL:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse
Açılır menüden master'dan farklı bir dal seçersem, şunu elde ederim:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=refs%2Fheads%2F<BRANCH_NAME>
Bunu yapmayı denedim ve işe yaradı:
https://<BITBUCKET_URL>/projects/<PROJECT_GROUP>/repos/<REPO_NAME>/browse?at=<COMMIT_ID>
Şimdi tüm repoya o taahhüt sırasında olduğu gibi göz atabilirim.
Birkaç yıl önceki harika cevaplar. Şimdi Bitbucket bunu kolaylaştırdı.
İndirmek istediğiniz Kurul'u etiketleyin (Rudy Matela'nın cevabında belirtildiği gibi).
Ardından İndirilenler'e gidin ve "Etiketler" sekmesini tıklayın; indirmek için birden fazla seçenek elde edersiniz.
Kayıt için URL'leri bu şekilde de oynayabilirsiniz:
En son kaynağa göz atarken, aşağıdakilere benzer:
https://bitbucket.org/my/repo/src/latestcommithash/my.file?at=master
İşleme karmasını değiştirin ve GET parametresini kaldırın:
https://bitbucket.org/my/repo/src/wantedcommithash/my.file
Yukarıda +1 @Hein A. Grønnestad var: hepsi çalışıyor, gerçekten GUI'de kullanmak için hiçbir şey olmadığını merak ediyor.
En kolay yol, bu işleme tıklamak ve bu işleme bir etiket eklemektir. Bu taahhütte 'last_commit' etiketini ekledim
Daha sonra bit bölmesinde yan gezinti sol köşesindeki indirmelere gidin. Sol taraftaki indirmeyi tıklayın
Çok geç olduğunu biliyorum, ancak API 2.0 ile
komut satırından:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>
veya php ile:
$data = json_decode(file_get_contents("https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>", true));
dosyanızın geçmişine sahipsiniz (en son işlemden en eskisine):
{
"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
}
Nerede values
> links
> self
Birlikte alabilmesi tarihinin şu anda dosyayı sağlar curl <link>
veya file_get_contents(<link>)
.
Sonunda, komut satırından şunlarla filtre uygulayabilirsiniz:
curl https://api.bitbucket.org/2.0/repositories/<user>/<repo>/filehistory/<branch>/<path_file>?fields=values.links.self
php, sadece foreach
dizi bir döngü yapmak $data
.
Not: eğer <path_file>
sahip bir /
sen var onu dönüştürmek için %2F
.
Buradaki dokümana bakın: https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/filehistory/%7Bnode%7D/%7Bpath%7D