Ho a relatively short Gist che dovrebbe utilizzare libgit2
per emulare la funzionalità del comando git pull
. Sfortunatamente, non sta funzionando.Implementazione di 'git pull' con libgit2?
In sintesi, il frammento:
- chiamate
git_repository_open()
per aprire l'archivio sul disco - chiamate
git_remote_load()
per ottenere ungit_remote *
l ' "origine" di nome remoto - chiamate
git_remote_connect()
con laGIT_DIRECTION_FETCH
bandierina - chiamate
git_remote_download()
per recuperare oggetti dal telecomando
Secondo git_remote_stats()
, gli oggetti vengono effettivamente recuperati. Ma la directory di lavoro non cambia per riflettere l'ultimo commit. Ho provato ad aggiungere:
git_checkout_head(repo, NULL);
... ma questo non ha fatto differenza.
Inserimento:
git checkout master
... in un risultato terminali nel seguente output:
Already on 'master' Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
Come faccio a fast-forward?
realtà, c'è un ramo WIP (work in progress) contenente una funzione 'git_merge'. Sembra relativamente maturo e al momento sto cercando di usarlo. –
Non importa. Penso che il ramo abbia bisogno di una ridefinizione. –
niente di nuovo su questo? –