2013-09-02 9 views

cevap

1

API'nin Create a Reference bölümünden bir şube oluşturabilirsiniz. Bununla birlikte, eğer bir yetim dalı oluşturabilirseniz veya API bunu engelliyorsa, emin değilim. Aslında

, çalışmıyor Kıvrık deniyordum:

curl -X POST -u sigmavirus24 https://api.github.com/repos/sigmavirus24/github3.py/github3.py/refs -d '{"ref":"refs/heads/orphaned"}' 
curl -X POST -u sigmavirus24 https://api.github.com/repos/sigmavirus24/github3.py/github3.py/refs -d '{"ref":"refs/heads/orphaned", "sha":""}' 

Hem dönüş: Birlikte ve Content-Type başlığında (-H "Content-Type: application/json") ama hiçbiri işe olmadan denedik

{"message": "Reference update failed"} 

.

Bu küçük denemeden, API aracılığıyla bir yetim dalı oluşturamadığınız anlaşılıyor.

+1

Kök düzeyindeki bir iletime işaret eden bir sham ile bir başvuru oluşturmayı başardım (ebeveynler olmadan oluşturduğum yeni bir işlem). Bu işlemi oluştururken github api aracılığıyla boş bir ağaç referansı oluşturamadım, ancak bunun yerine bir kukla dosya içeren bir ağaç oluşturmak zorunda kaldım. Şu anda bu geçici çözümleri kullanıyorum, ancak hala boş bir ağaç işaret eden bir kök düzeyine başvuran bir yetim dalı oluşturmak için bir yol olup olmadığını görmekle ilgileniyorum. –

1

O bunu mümkündür:

şube zaten
  • Değilse, o zaman bir o atıfta taahhüt oluşturmak var kontrol edip
    1. git en empty tree SHA
    2. Sonra bu
    3. işlemeye bir ref oluşturmak

    Sen nasıl yapılacağı için bazı CoffeeScript örnek kod bulabilmesi https://github.com/noflo/noflo-github/blob/master/components/CreateOrphanBranch.coffee#L31

    dan https://github.com/the-domains/example.net/tree/branch_1403616324001

    Güncelleme:

    İşte bu şekilde yaratılan böyle bir dalıdır git depo önceki yetim şubesi varsa bu yöntem yalnızca çalışır. GitHub'un API'si ile oluşturulan yeni oluşturulan bir repo, auto_init seçeneğini kullanırsa, işe yaramaz. Bu konuda GitHub ile bağlantı kurdum.