仅使用libgit2获取新分支

时间:2016-07-30 12:50:53

标签: branch fetch libgit2

是否可以仅使用libgit2获取新分支?这意味着不会更新refs/remotes/<existing_branch>,只会创建新的refs/remotes/<new_branch>。不确定应该用refs/heads/<new_branch>做什么,但也可能应该创建,对吗?

目前,我看到获取任何new-branch-fetch行为的唯一方法是使用NULL为refspecs调用git_remote_fetch()。然而,这将更新整个存储库。或者,我应该致电git_remote_ls()并为*fetch创建明确的refspec吗?

1 个答案:

答案 0 :(得分:2)

这些不是Git中任何地方存在的语义,所以你必须自己做。如果你想弄清楚哪些分支是新的,你必须在获取之前使用git_remote_ls(),找出哪些是新的分支,然后使用refspecs列表只下载那些。

我不知道你使用NULL实现这种行为是什么意思,因为没有办法设置默认的refspec来做到这一点。这只会像git fetch一样,并使用配置的refspecs给定的遥控器。