c/c++语言开发共享如何推(使用libgit2)

如何使用libgit2进行推送? (就像控制台上的git push origin master

我想使用C版本。 克隆,打开,添加文件到索引和提交工作就像魅力(见代码 )。

测试裸存储库是本地的。

不幸的是,参考和文档对我没有帮助。 示例是非常罕见的并且大部分已过时( 像这样 , git_push_new()函数似乎已经消失)。

我现在猜几个小时了,我想我尝试了参考和示例中所有有意义的代码片段组合。

编辑:我担心libgit2根本不可能做到这一点。 任何人都可以建议我参考,非常/伪造我的恐惧?

互联网/邮件列表中有一些消息来源( [1] , [2] )表示目前不可能推出libgit2,但很快就可能实现。 然而,这些来源已经过时了。

引用包含一些与推送相关的函数(至少按名称)。 但似乎没有一个像我想要的那样工作:(

    实现这一诀窍的代码是:

      bool push(git_repository *repository) { // get the remote. git_remote* remote = NULL; git_remote_lookup( &remote, repository, "origin" ); // connect to remote git_remote_connect( remote, GIT_DIRECTION_PUSH ) // add a push refspec git_remote_add_push( remote, "refs/heads/master:refs/heads/master" ); // configure options git_push_options options; git_push_init_options( &options, GIT_PUSH_OPTIONS_VERSION ); // do the push git_remote_upload( remote, NULL, &options ); git_remote_free( remote ); return true; } 

    当然,你应该做一些错误检查,我为了简洁而省略了。

      以上就是c/c++开发分享如何推(使用libgit2)相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/560217.html

      (0)
      上一篇 2021年1月27日
      下一篇 2021年1月27日

      精彩推荐