问题标签 [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 回答
987 浏览

c - 如何检索所有对象 ID?

我正在尝试使用 libgit2 获取 git 存储库中所有对象 ID 的列表。我似乎找不到任何方法。libgit2 是否有获取所有对象 ID(或遍历它们)的方法,还是我需要手动读取它们?

0 投票
3 回答
5174 浏览

git - 你可以使用 libgit2 克隆一个 git 存储库吗?

有没有办法使用 libgit2 创建一个新的 git repo 克隆?来自 libgit2 使用指南(http://libgit2.github.com/api.html)、各种示例文档(http://schacon.github.com/libgit2-examples/ 等)和“存储库”libgit2 api 文档(http://libgit2.github.com/libgit2/group__git__repository.html)和其他阅读...我只看到对打开现有 git repo 目录git_repository_open或创建新目录的引用git_repository_init

我有什么明显的遗漏吗?也许“git clone GIT-REPO-URL”的api等价物git_repository_init后面跟着...?

0 投票
1 回答
4380 浏览

c# - 无法加载 DLL 'git2.dll' 找不到指定的模块

我正在尝试在网络项目中使用libgit2sharp 。问题是 libgit2sharp 的解决方案是针对 VS2010 的,而我使用的是 VS2008。所以我不得不创建一个新的解决方案并修改代码不使用默认参数。这不是问题,除了当我尝试使用已编译的 libgit2sharp DLL 时出现标题中列出的异常。

我已经尝试在 git2.dll 中进行链接,但这并没有帮助。将 git2.dll 复制到网络项目中也没有帮助。

编辑:该问题已在 LibGit2Sharp 问题跟踪器中处理:https ://github.com/libgit2/libgit2sharp/issues/39

0 投票
4 回答
3056 浏览

git - 有没有比 Git 更好的数据库(具有可序列化、不可变、版本化的树)?

想象一下 Git 背后的数据结构。它就像一个融合的持久数据结构,除了使用散列引用而不是传统的指针。

我需要 Git 的数据结构,除了没有任何工作树和索引的东西。并且会有数百万个分支机构,每个分支机构都跟踪少数其他本地分支机构。不同线程上每分钟会发生数千次提交和合并。每秒都会发生拉动。

libgit2jgit之间,我可以使用 Git 的数据存储子系统。

但是我是否使用了正确的工具来完成这项工作?是否有具有 git 功能但更快/更多并发/可扩展/更少阻抗不匹配的数据库?内存缓存写入将非常有帮助。

任务:

一个协作编辑的游戏。每个玩家都有自己的分支,他们对游戏世界所做的每一次改变都只适用于他们的版本。更改由受信任的用户合并回“主”分支。数据和源代码通常捆绑在一起,需要相同的分支和合并功能。

0 投票
1 回答
789 浏览

git - GitHub 如何检查两个分支是否可以自动合并?

我使用 pygit2(python 的 libgit2 包装器),在创建合并提交之前——即与两个父级提交——我想做一个类似于 GitHub 的空运行检查,以确保分支实际上可以自动合并。

显而易见的方法是循环自分支点以来的所有提交并逐行检查是否存在冲突。但我认为(希望?)可能有更好的方法。

0 投票
2 回答
720 浏览

git - 如何检索子模块的状态?

我在使 libgit2sharp / libgit2 与 git 子模块一起工作时遇到了困难。

我有 git 存储库,其中有几个项目作为子模块链接到存储库中的文件夹。Git 和 GitHub 可以很好地识别它们,但是当我尝试通过 libgit2sharp / libgit2 检索这些文件夹状态时,会引发异常。它说“无法确定文件'[文件名]'的状态。提供的路径指向一个文件夹,而不是一个文件”

libgit2 应该为子模块文件夹提供状态吗?他们有地位吗?目前我只是跳过对这些项目状态的查询,但觉得它不正确。

非常感谢您的帮助!

0 投票
3 回答
4843 浏览

git - 如何检索文件的历史记录?

我遇到了另一个 libgit2 问题,非常感谢您的帮助。

我正在尝试检索文件历史记录,即更改此文件的提交列表。而且它似乎非常不合常规......据我所知,没有任何功能。

我能想出的唯一方法是使用修订遍历 API 来遍历修订,检查附加到提交的树对象并在那里搜索给定文件,如果找到,将提交添加到我的列表中,否则继续下一次提交。

但它看起来对我来说不是最优的......

可能有没有其他方法,例如,直接查看.git文件夹并在那里获取所需的信息?

提前谢谢了!

0 投票
1 回答
7179 浏览

c# - Git 存储库内部格式说明

有没有关于 Git 如何在他的存储库中存储文件的文档?我正在尝试通过 Internet 进行搜索,但没有可用的结果。也许我使用了不正确的查询,或者这是一个很大的秘密——Git 存储库内部格式?

让我解释一下,为什么我需要这个火箭科学信息:我正在使用 C# 获取文件历史表单存储库。但在libgit2sharp图书馆中,目前尚未实施。所以(作为一个负责任的人;)我需要自己实现这个功能并为社区做出贡献。

但是在将内核源代码移动到 github 之后,我什至不知道从哪里开始搜索。

提前谢谢了!

0 投票
1 回答
760 浏览

c - 带有 libgit2 的“git log -1 fullpath/myfile”

我想git log -1 fullpath/myfile用 libgit2 来实现。我对libgit2相当陌生。我在正确的轨道上吗?这是我到目前为止所拥有的:

不幸的是git_tree_entry_byname,似乎不适用于 repo 子目录中的文件。任何的想法?

谢谢你,拉斯

0 投票
1 回答
3725 浏览

git - 如何使用 libgit2 克隆/获取 git 存储库?

我需要初始化一个 git 存储库并将最新版本的分支获取到其中。在 bash 中,命令是:

我正在尝试使用 libgit2 以编程方式执行相同的操作,但是在找到第二行的等效项时遇到了麻烦。创建远程的调用很明显,但我没有看到任何将其添加到存储库或处理分支的方法。

是否可以用 libgit2 做到这一点?如果没有,是否有图书馆能够做到这一点?