2012-03-12 14 views
8

GitHub Documentazione API dice:API GitHub v3: come creare il commit iniziale per il mio nuovo repository brillante?

Git DB API functions will return a 409 if the git repo for a Repository is empty or unavailable.

miei POST su $repo/git/trees rendimenti 409 davvero.

Come si crea il commit iniziale nel repository? Devo forzare l'utente a commettere qualche inutile ciarpame manualmente, solo per creare un commit di root?

+0

È possibile eseguire 'git commit' da soli. – SLaks

+0

@SLaks Non posso - Mi piacerebbe farlo dalla mia webapp, tramite l'API di github. – Almad

+0

Qualche notizia su questo? Sto avendo lo stesso problema. –

risposta

6

Ho contattato il supporto github con lo stesso problema e qui è la loro risposta:

From: Rick (GitHub Staff) 
Subject: Creating an initial commit using the v3 API 

Currently, you can't add the initial commit through the API. Thanks for the 
feedback. I've added your suggestion to the Feature Request List™ for the team 
to see. 

Per risolvere il problema, a seconda del caso d'uso, si può essere in grado di creare forchette piuttosto che nuove operazioni pronti contro termine.

+0

Questa non è un'opzione per me, ma grazie per la conferma. – Almad

+0

@ daniel-x-moore volevo fare lo stesso, creare un nuovo repository e spingere i file in esso (in java usando api v3), quindi non posso ancora aggiungere il commit iniziale tramite l'API? – cypronmaya

+0

@cypronmaya Attualmente non è possibile aggiungere il commit iniziale tramite l'API, ma è possibile aggiungerlo tramite la riga di comando eseguendo il bombardamento manualmente. –

6

aggiornamento 28 settembre 2012

Secondo this blogpost pubblicato su github blog, ora è possibile inizializzare automaticamente un repository dopo la creazione.

Oggi abbiamo semplificato l'aggiunta di commit a un repository tramite l'API GitHub . Fino ad ora, è possibile creare un repository, ma è necessario effettuare l'inizializzazione di localmente tramite il client Git prima di aggiungere qualsiasi commit tramite l'API.

Ora è possibile opzionalmente init un repository quando viene creato inviando true per il parametro auto_init:

curl -i -u pengwynn \ 
     -d '{"name": "create-repo-test", "auto_init": true}' \ 
     https://api.github.com/user/repos 

Il repository risultante avrà uno stub README e una prima commettere.

+0

I progressi sono stati ben accolti, ma non risolvono il caso d'uso iniziale. Lì, il repository viene sempre creato, ma deve essere popolato con commit iniziale. – Almad

+0

@Almad Penso che questo risponda alla tua domanda originale, che riguarda la creazione di un nuovo commit per un nuovo repository. In parole semplici, è necessario eseguire questo commit al momento della creazione del nuovo repository. In precedenza non c'era modo di spingere il commit iniziale tramite API. –

Problemi correlati