问题标签 [libgit2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - GIT智能HTTP协议的服务器端和客户端的详细区别
我希望有人会回答GIT智能HTTP协议的服务器端和客户端之间的细节差异。
最好的方法是提前提供一些参考书和代码。
有人说,
libgit2 已经公开了一个 packbuilder。但是,您必须自己实现服务器端协议。
我们可以用小代码用 libgit2sharp(或 libgit2)实现服务器端吗?
按照上面的问题。我们可以用参数处理包git.exe receive-pack
和git.exe upload-pack
命令--stateless-rpc
。实现的代码在这里和这里。
我们可以将上述代码作为本机代码编译到 .Net 程序集中吗?尽管我们可以通过管道连接 ASP.NET 流和 git.exe,但这不是一个好方法。
c - libgit2 项目或其他任何人是否提供示例代码来演示各种 libgit2 功能?
我正在通过另一种语言的 FFI 使用 libgit2,但我很难弄清楚各种功能的实际作用(除非绝对必要,否则我宁愿不求助于阅读源代码)。有谁知道我在哪里可以找到 libgit2 中某些功能的一些工作代码示例?
c - 如何在 libgit2 中使用 SSH 支持?
正如我从这个问题中看到的,libgit2
现在支持使用 ssh 存储库 url。
但是如何强制它工作呢?libssh2
正如我从 CMakeLists 文件中了解到的那样,如果检测到库,将自动启用 SSH 支持。
必须如此,我看到了“检测到 libssh2”消息。但是,cmake 工作后的宏GIT_SSH
仍然未定义,所有 SSH 的东西都不可用。例如,代码git_cred_ssh_keyfile_passphrase kf_pass;
无法编译。我收到这样的错误:
'git_cred_ssh_keyfile_passphrase' was not declared in this scope
,即GIT_SSH
未定义,因为此结构是在#ifdef GIT_SSH ... #endif
块中声明的。
也许我做错了什么?
ruby - 如何以编程方式使用 Rugged 创建提交?
我正在尝试使用Rugged(libgit2的 Ruby 绑定)以编程方式创建对现有存储库的提交。我尝试遵循 Rugged README中提供的文档,但我认为它与代码库的当前状态不太匹配。当我尝试运行以下代码时,我不断收到错误:
我得到的当前错误表明index.add
线路有问题。它说TypeError: wrong argument type nil (expected Fixnum)
。
任何有助于更好地理解如何使用崎岖不平创建新提交的帮助将不胜感激。
更新
我刚刚通过运行更新Rugged 0.16.0
到. 我上面详述的代码现在似乎可以工作了。我不确定为什么它不适用于 0.16.0。这个人似乎有他们在这个答案中详述的同样的问题。Rugged 0.18.0.gh.de28323
gem install --prerelease rugged
c - 如何使用 libgit2 中的 C 标头而不出现此错误?
我将所有内容从 include/git2 带到 /usr/include,然后尝试编译以下程序:
当我用 GCC 编译它时,我收到以下错误:
我看到错误说只能在 Visual Studio 中使用 inttypes.h,那么如何从使用 GCC 编译的程序中调用 repository.h?我真的很想使用 repository.h 中定义的一些数据结构。知道我做错了什么吗?
c - 尝试使用 git_clone 函数导致段错误
这是我的代码:
不知道从哪里开始。有任何想法吗?
visual-c++ - 如何在 Windows 上使用原生 C++ 应用程序中的 libgit2?(微软 VC++)
总结:是否有任何关于如何构建使用libgit2 库的 Win32 C++ 控制台应用程序的小示例(源代码可在GitHub 上获得)?
我已经按照自述文件和 wiki 了解如何使用 CMake 在 Windows 上构建库,并且运行顺利(只有一个单元测试错误)。
现在,我想构建一个使用该库的简单控制台应用程序——使用 Microsoft Visual Studio C++ 2010(the.vcxproj
和the.sln
)。我在libgit2general.c
示例中找到了代码,我想在我的 C++ 应用程序中做同样的事情。没有成功——我今天真的很傻……
我注意到有用于 C++ 和 Qt 的 libqgit2。纯 C++ 有类似的东西吗?或者有没有办法从 C++ 应用程序中使用 C 库?
更新:我已重命名general.c
为general.cpp
,添加了项目的 libgit2 包含路径和 .lib 文件的路径,更改#include <stdio.h>
为#include <cstdio>
,并编译。出现以下链接错误:
c - When I include git2.h from libgit2, I can access data structures, but not functions
Here is some code from Ben Straub's (link blog) that I am basing this on:
And here is my code:
I am very inexperienced with C, so I apologize for having such elementary problems. Anyway, here is the error my compiler gives me:
Why can't I call git_clone this way?
commit - 如何使用 libgit2 添加子目录
我需要提交所有工作目录,但我找不到任何可以将子目录添加到索引的解决方案。我试过了,git_index_add_bypath()
但似乎没有为子目录添加树。我正在使用 Qt 和 c 的 libgit2,因为 Qt 的语言绑定似乎不起作用。
c - 如何在 Github 上托管的存储库上使用 git_branch_create()?
我试图弄清楚如何使用它。我在这里已经脱离了我的元素,所以感谢您对我的包容。