2016-07-30 64 views
0

是否有可能只使用libgit2獲取新分支?這意味着不會更新refs/remotes/<existing_branch>,只會創建新的refs/remotes/<new_branch>。不知道refs/heads/<new_branch>應該做什麼,但它可能也應該創建,是否正確?只使用libgit2獲取新分支

目前,我看到取得任何新的分支取行爲的唯一方法是調用git_remote_fetch()與NULL的refspecs。這將更新整個存儲庫。或者,我應該撥打git_remote_ls()併爲*fetch創建明確的參考號?

回答

2

這些都不是它存在的Git內任何地方的語義,所以你必須自己做。如果你想知道哪些分支是新的,你必須在提取之前使用git_remote_ls(),找出哪些是新的分支,然後使用一個refspecs列表來下載這些分支。

我不知道你用NULL實現這一行爲意味着什麼,因爲沒有辦法來設置默認refspecs做到這一點。這隻會表現得像git fetch,併爲給定的遠程使用配置的refspecs。