问题标签 [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.

0 投票
1 回答
800 浏览

git - 比较崎岖的 2 次提交

我没有找到任何关于在崎岖不平的情况下获得 2 个文件之间差异的文档。我使用下面的代码使用坚固的提交文件

如何在崎岖不平的环境中看到同一对象的 2 次提交之间的差异?

0 投票
1 回答
1017 浏览

libgit2 - libgit2sharp 获取失败

我正在使用 libgit2sharp 来进行概念验证,以自动获取、更改、提交一些文件并推送到远程源。

我知道push还没有完成,但是fetch在 vnext 但是当我调用它时:

libgit2 引发错误。类别 = Os(错误)。连接主机失败

这是我的代码:

其他一些细节:

  1. 我的遥控器是使用 https 托管的私有 bitbucket。(看起来像:https://myusername@bitbucket.org/myRepoOwner/repoName.git
  2. 我能够从命令行获取和推送,所以 repo 正在工作。
  3. 当我使用 repo.Fetch("origin"); 时会发生同样的问题
0 投票
1 回答
225 浏览

libgit2 - 为什么使用 kernel32.dll 的 GetProcAddress 的 libgit2 方法总是返回 0?

我需要手动处理实际的加载/卸载git2.dll,而不是[DllImport("git2")]在 C# 中使用。我似乎在创建一个IntPtr用于引用存储在libgit2.

这是我PluginManager班级中的好东西,它们应该有助于促进手动加载、编组/委托(每当我修复这个扭结时)和卸载库。

这是我尝试使用它们的地方:

库是否没有暴露于这种类型的加载?我尝试了本LibGit2Sharp机挂钩中存在的各种方法,但它们总是返回零。

0 投票
0 回答
565 浏览

libgit2 - libgit2 相当于 git log

我正在尝试使用 libgit2 执行以下等效操作:

我在 1) 找到将所有 refs 推入 revwalker 的最简单方法和 2) 以相同顺序获得结果时遇到了麻烦。尽管我尝试了拓扑和时间排序的各种组合,但我一直看到较旧的分支出现在顶部附近。

我最近的尝试涉及到 call git_revwalk_push_glob(walk, "refs/*"),但并不是所有的分支都出来了。一个测试仓库有两个本地分支,一个(当前的)丢失了。

我实际上是在 Objective-git 中这样做的,但是 GTEnumerator 接口有点受限,所以我不得不扩展它。

更新:我继续手动推送 refs/heads、refs/remotes 和 refs/tags(以及所有 stash,因为我实际上想要的不仅仅是顶部)。排序问题仍然存在。

0 投票
2 回答
1669 浏览

git - 如何使用 LibGit2(Sharp) 为 Git 存储库构建版本树

一些背景:

我正在研究使用 Git 作为数据存储层的可能性。基本上我需要保留一些描述应用程序状态的 XML 文件的所有版本。用户需要一个“时间机器”才能恢复到以前的状态,以及分支以前的状态等。这将隐藏在服务层后面,但我正在考虑在后端使用 Git。

我需要展示应用程序状态随时间的演变,所以我想构建一个网络图来显示变化、分支等。

为此,我需要直观地构建版本树。基本上,我想这样做:

我正在使用 LibGit2Sharp。我已经浏览了 API,但没有立即看到任何有用的东西。我对 Git 也很了解,但这并没有帮助。

0 投票
1 回答
2270 浏览

libgit2 - libgit2 是否支持 SSH 传输协议?

是否可以使用 ssh-keys 通过 ssh 克隆存储库?

0 投票
1 回答
1497 浏览

c++ - 如何使用 libgit2 初始化 git 存储库

在 Windows XP 32 位机器上,我使用克隆了 libgit2 存储库

然后我从trunk_build_debug为mingw配置了:

并用

使用这个新建的库,我正在尝试创建一个新的存储库。所以我正在使用

第一次尝试失败并显示错误消息:

Git错误-1:全局文件'.config/git/config'不存在:系统找不到指定的文件。

.git 目录已创建,我可以使用git status它来查询它。另外,我在 Program Files/git 中安装了 git,它工作得很好。提到的文件在用户目录中不存在,这是真的。我不高兴,因为我无法检查返回的错误代码(错误可能是“真实的”)。

所以我在 D:\Documents and Settings\User Name.config\git\config 中创建了一个空文件 .git 目录再次创建,但我得到相同的 -1 错误代码。这次 giterr_last() 返回 NULL。

在调试器中跟踪代码似乎表明该库对我的空文件不满意。

但是,我认为这表明我做错了什么。有初始化方法吗?我是否需要创建文件并使用 git_config_ 函数将库指向它?

顺便说一句,这是问这个错误的地方吗?有专门的论坛我应该问这个问题吗?

谢谢


这是调用失败的回溯:pastebin 似乎无法解析 .git 目录中的配置文件(跟踪中未显示的是失败的 'config_parse()')。


我在 libgit2 中打开了一个问题。

0 投票
1 回答
3031 浏览

c - 用 libgit2 实现“git pull”?

我有一个相对较短的 Gist应该用来libgit2模拟git pull命令的功能。不幸的是,它并不完全有效。

总之,片段:

根据git_remote_stats(),确实正在获取对象。但是工作目录不会改变以反映最新的提交。我尝试添加:

……但这并没有什么不同。

输入:

...在终端中产生以下输出:

如何快进?

0 投票
1 回答
622 浏览

head - 使用 libgit2 获取远程 HEAD?

我似乎无法弄清楚如何获得git_reference *特定遥控器的 HEAD。

我有:

运行应用程序时会显示错误消息,指示未找到引用。但是,远程 HEAD 确实存在:

为什么我无法获得git_reference *远程 HEAD?

0 投票
1 回答
687 浏览

c# - LibGit2Sharp 找不到 git2.dll

我已经构建了一个小型 wpf 应用程序来管理我正在开发的网站。这个应用程序的主要特点是它允许我检出主题存储库的不同分支。这在 Visual Studio 中完美运行,但是当我在我的 Windows 8 机器上发布、安装和运行该应用程序时,它会返回:

我已经通过互联网和stackoverflow进行了搜索。还有类似的问题,如Unable to load DLL 'git2.dll' The specified module could not be found但是提供的答案(以及答案中描述的github问题中显示的答案)又出现了一个错误:

我尝试通过 nuget 安装最新版本,包括编译的 dll 并添加 git2.dll,包括我的解决方案中的 libgit2sharp 项目。再一次,当我通过 Visual Studio 运行它时它运行良好,但当我发布、安装和运行它时失败。

我不确定需要包含哪些信息,因此请随时发表评论并让我知道,以便我更新问题。

谢谢!