2016-07-30 16 views
0

Kann man mit libgit2 nur neue Zweige holen? Dies würde bedeuten, dass keine refs/remotes/<existing_branch> aktualisiert würde, nur dass neue refs/remotes/<new_branch> erstellt würde. Nicht sicher, was mit refs/heads/<new_branch> gemacht werden sollte, aber es sollte wohl auch erstellt werden, richtig?Nur neue Zweige mit libgit2 holen

Derzeit sehe ich die einzige Möglichkeit, ein neues Verzweigungsabrufverhalten zu erhalten, den Aufruf git_remote_fetch() mit NULL für refspecs. Dies wird jedoch das gesamte Repository aktualisieren. Oder soll ich git_remote_ls() anrufen und explizite refspec für *fetch erstellen?

Antwort

2

Das sind keine Semantik, die irgendwo in Git existieren, also müssten Sie es selbst tun. Wenn Sie herausfinden möchten, welche Zweige neu sind, müssen Sie git_remote_ls() vor dem Abruf selbst verwenden, herausfinden, welche die neuen Zweige sind und dann eine Liste von refspecs verwenden, um nur diese herunterzuladen.

Ich weiß nicht, was Sie meinen, indem Sie eine NULL erreichen dieses Verhalten, weil es keine Möglichkeit gibt, die Standard-Refspecs dafür zu tun. Das wird sich einfach wie git fetch verhalten und die konfigurierten refspecs für die gegebene Fernbedienung verwenden.