如何使用C 中的libgit2检查是否需要拉动
How can I check if pull is needed using libgit2 in c++?
我想检查我是否有最新版本的程序。我将我的程序共享到bitbucket.org,如果需要删除最新版本,或者我已经拥有最新版本,希望我的C 代码写信给我。
首先,您必须获取以获取远程跟踪分支的状态。没有其他方法可以检查您的分支是否已在遥控器上更新。为此,许多工具会自动定期(如每10分钟)自动获取。
然后将您的本地分支与上游进行比较。使用libgit2做到这一点的一种方法是使用revwalk
功能。如果您git_revwalk_push_ref
上游和git_revwalk_hide_ref
本地分支,然后走过范围,您可以计算本地分支后面的投入多少。做相反的事情以提前提交。
示例:
git_revwalk *walker;
git_revwalk_new(&walker, repo);
git_revwalk_push_ref(walker, "refs/remotes/origin/master");
git_revwalk_hide_ref(walker, "refs/heads/master");
git_oid id;
int count = 0;
while (!git_revwalk_next(&id, walker))
++count;
// 'count' is the difference between remote and local
相关文章:
- 检查输入是否不是整数或数字
- 检查值是否在集合p1和p2中,但不在p3中
- 检查 std::shared_ptr<> 的当前底层类型是否为 T
- 在c++中检查长方体是否尽可能快地重叠(无迭代)
- 如何检查线程是否锁定
- C++LDAP检查用户是否是特定组的成员
- 检查TCHAR数组输入是否为带符号整数C++
- 如何检查QList中是否存在值
- 检查函数返回类型是否与STL容器类型值相同
- 检查是否以特定精度给出双精度
- 检查向量是否具有所有可能的字符组合
- 检查注册表项是否链接到(或副本)另一个注册表项
- 地图计数确实很重要,或者只是检查是否存在
- 检查 2 棵树是否具有相同的顺序
- std::next 是否检查我们是否已经在容器的末尾?
- "!" "== 0"是否检查 int 是否是 0 的好做法?
- 我是否检查是否存在带或不带参数的宏函数
- dynamic_cast是否检查被查询对象的type_info对象,或者递归地检查
- 在VS2010中编译c++ 11中的代码时,std::function()是否检查类型
- 如果第二个参数"0",strcmp 是否C++检查字符串中的每个值?