问题标签 [libgit2sharp]

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 投票
2 回答
1311 浏览

c# - 遍历 LibGit2Sharp 中的差异变化

TreeChanges在 LibGit2Sharp中迭代的最佳(如高性能、简单)方法是什么?

如果我访问该.Patch属性,我会检索更改的全文。这对我来说还不够……理想情况下,我希望能够遍历 diff 行,并且每行检索行的状态(修改、添加、删除)并从中构建我自己的输出。

更新:

假设我想建立自己的差异输出。我想做的是迭代更改的行,在迭代期间我会检查更改的类型(添加、删除),并构造我的输出。

例如:

以上只是一个简单的例子,我正在寻找什么样的灵活性。能够通过更改,并根据行更改类型运行一些逻辑。该Patch属性已经“构建”,一种方法是解析它,但库首先构建输出然后我解析它似乎很愚蠢......我宁愿直接使用构建成分。

我需要这种功能,以便我可以显示更改的视觉差异,这涉及比我上面给出的简单示例更多的代码和逻辑。

0 投票
1 回答
483 浏览

c# - 如何使用 LibGit2Sharp 部分暂存文件?

我已提交此文件:

foo.txt

现在我将其修改为:

我跑git add . && git diff --cached foo.txt了,这就是我得到的:

假设我现在想line 1.5从索引中删除并保留line 2.5,我将如何使用 LibGit2Sharp 执行此操作?

这也可以反过来问:如何将部分文件添加到索引?我正在寻找某种程序化版本的git add -p.

0 投票
1 回答
302 浏览

c# - 使用父引用

我正在使用 libgit2sharp,我想获得一个Commit代表类似HEAD~10. 我试过repo.Lookup("HEAD~10")了,但这不起作用:

LibGit2Sharp.LibGit2Exception:libgit2 引发错误。类 = GITERR_REFERENCE (-1)。
给定的参考名称   在 LibGit2Sharp.Repository.Lookup(String shaOrReferenceName, GitObjectType type, LookUpOptions lookUpOptions   的 LibGit2Sharp.ReferenceCollection.Resolve[T](String name)的
  LibGit2Sharp.Core.Ensure.Success(Int32 result, Boolean allowPositiveResult) )   在 libgit2Sharp.Repository.Lookup(String shaOrReferenceName, GitObjectType type)   在 libgit_tmp.Program.Main(String[] args)



我意识到我可以通过类似下面的代码来做同样的事情,但如果我能以这种方式指定引用,我仍然更喜欢它。有什么办法吗?如果不是,是 libgit2sharp 还是 libgit2 的限制?

0 投票
1 回答
1270 浏览

libgit2sharp - 标记为“已删除”的文件在 LibGit2Sharp 中报告为“缺失”

使用 Git Bash 查看我的存储库状态时,我可以看到许多标记为“已删除”的文件。LibGit2Sharp RepositoryStatus 将这些文件报告为“丢失”。RepositoryStatus 对象也有一个集合“Removed”。

这两者有什么区别?删除的文件不应该标记为“已删除”吗?

0 投票
1 回答
1890 浏览

c# - 加载 git2.dll 时出现问题?

我正在尝试使用 libgit2sharp 库。我唯一的代码是

当我运行它时,我收到一条错误消息:无法加载 DLL 'git2':找不到指定的模块。因此,我手动从 libgit2sharp 中抓取了 git2.dll 并将其移动到目录中。之后运行相同的程序时,我收到另一个错误:尝试加载格式不正确的程序。

在研究这个时,我发现这篇文章和似乎适用于海报的解决方案对我不起作用。那篇文章也是在一年前发布的,并且对其进行了假定的修复,我使用的是 libgit2sharp 的最新分支(我尝试过旧的存储库没有变化)

有任何想法吗?

0 投票
2 回答
3720 浏览

c# - 使用 libgit2sharp 克隆和推送

谁能告诉我如何克隆一个 repo 并推送或发布提交的更改?

目前我能够修改克隆仓库并能够提交我的更改,但我没有很好的 api 来推送它。最初也是为了克隆 repo。

如果它不可用,使用 c# 的替代方法是什么?

-贾弗

0 投票
2 回答
4405 浏览

.net - 如何使用 LibGit2Sharp 获取当前/活动分支?

所以使用 LibGit2Sharp https://github.com/libgit2/libgit2sharp你可以像这样穿过分支

但是我如何获得当前/活动分支?

0 投票
1 回答
822 浏览

c# - 如何使用 libgit2sharp 更改工作目录?

我一直在尝试使用更改工作目录libgit2sharp,但到目前为止我还没有弄清楚如何去做。Checkout似乎没有这样做,Reset可用但ResetOptions.Hard不可用。它没有被实施还是有我遗漏的方法?

谢谢你的帮助!

0 投票
3 回答
5560 浏览

c# - 如何检测 libgit2sharp 中的未决更改?

在 libgit2sharp https://github.com/libgit2/libgit2sharp/你如何检查挂起/未提交的更改?

0 投票
4 回答
3032 浏览

c# - git log 路径的 LibGit2Sharp 等价物是什么?

如何获取包含特定文件的提交列表,即相当于git log pathfor LibGit2Sharp

它没有被实施还是有我遗漏的方法?