2013-03-19 14 views
6

Mam a relatively short Gist, który ma używać libgit2 do emulowania funkcjonalności polecenia git pull. Niestety nie działa.Wdrażając "git pull" z libgit2?

Podsumowując, fragment:

Zgodnie z git_remote_stats() obiekty są rzeczywiście pobierane. Ale katalog roboczy nie zmienia się w celu odzwierciedlenia ostatniego zatwierdzenia. Próbowałem dodać:

git_checkout_head(repo, NULL); 

... ale to nie miało znaczenia.

wpisując:

git checkout master

... w terminalu powoduje następujące dane wyjściowe:

Already on 'master' 
Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.

Jak mogę szybko do przodu?

Odpowiedz

3

Należy uruchomić git pull origin master

lub

git fetch origin + git merge origin/master

to znaczy trzeba równoważną funkcję libgit2 scalania.

funkcja scalania jest dostępny w libgit2 v0.20

+0

Właściwie jest WIP (work in progress) oddział zawierający 'funkcję git_merge'. Wydaje się stosunkowo dojrzały i obecnie zamierzam go używać. –

+0

Nieważne. Myślę, że oddział potrzebuje przekierowania. –

+0

coś nowego w tej sprawie? –