问题标签 [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.
c# - 遍历 LibGit2Sharp 中的差异变化
TreeChanges
在 LibGit2Sharp中迭代的最佳(如高性能、简单)方法是什么?
如果我访问该.Patch
属性,我会检索更改的全文。这对我来说还不够……理想情况下,我希望能够遍历 diff 行,并且每行检索行的状态(修改、添加、删除)并从中构建我自己的输出。
更新:
假设我想建立自己的差异输出。我想做的是迭代更改的行,在迭代期间我会检查更改的类型(添加、删除),并构造我的输出。
例如:
以上只是一个简单的例子,我正在寻找什么样的灵活性。能够通过更改,并根据行更改类型运行一些逻辑。该Patch
属性已经“构建”,一种方法是解析它,但库首先构建输出然后我解析它似乎很愚蠢......我宁愿直接使用构建成分。
我需要这种功能,以便我可以显示更改的视觉差异,这涉及比我上面给出的简单示例更多的代码和逻辑。
c# - 如何使用 LibGit2Sharp 部分暂存文件?
我已提交此文件:
foo.txt
现在我将其修改为:
我跑git add . && git diff --cached foo.txt
了,这就是我得到的:
假设我现在想line 1.5
从索引中删除并保留line 2.5
,我将如何使用 LibGit2Sharp 执行此操作?
这也可以反过来问:如何将部分文件添加到索引?我正在寻找某种程序化版本的git add -p
.
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 的限制?
libgit2sharp - 标记为“已删除”的文件在 LibGit2Sharp 中报告为“缺失”
使用 Git Bash 查看我的存储库状态时,我可以看到许多标记为“已删除”的文件。LibGit2Sharp RepositoryStatus 将这些文件报告为“丢失”。RepositoryStatus 对象也有一个集合“Removed”。
这两者有什么区别?删除的文件不应该标记为“已删除”吗?
c# - 加载 git2.dll 时出现问题?
我正在尝试使用 libgit2sharp 库。我唯一的代码是
当我运行它时,我收到一条错误消息:无法加载 DLL 'git2':找不到指定的模块。因此,我手动从 libgit2sharp 中抓取了 git2.dll 并将其移动到目录中。之后运行相同的程序时,我收到另一个错误:尝试加载格式不正确的程序。
在研究这个时,我发现这篇文章和似乎适用于海报的解决方案对我不起作用。那篇文章也是在一年前发布的,并且对其进行了假定的修复,我使用的是 libgit2sharp 的最新分支(我尝试过旧的存储库没有变化)
有任何想法吗?
c# - 使用 libgit2sharp 克隆和推送
谁能告诉我如何克隆一个 repo 并推送或发布提交的更改?
目前我能够修改克隆仓库并能够提交我的更改,但我没有很好的 api 来推送它。最初也是为了克隆 repo。
如果它不可用,使用 c# 的替代方法是什么?
-贾弗
.net - 如何使用 LibGit2Sharp 获取当前/活动分支?
所以使用 LibGit2Sharp https://github.com/libgit2/libgit2sharp你可以像这样穿过分支
但是我如何获得当前/活动分支?
c# - 如何使用 libgit2sharp 更改工作目录?
我一直在尝试使用更改工作目录libgit2sharp
,但到目前为止我还没有弄清楚如何去做。Checkout
似乎没有这样做,Reset
可用但ResetOptions.Hard
不可用。它没有被实施还是有我遗漏的方法?
谢谢你的帮助!
c# - 如何检测 libgit2sharp 中的未决更改?
在 libgit2sharp https://github.com/libgit2/libgit2sharp/你如何检查挂起/未提交的更改?
c# - git log 路径的 LibGit2Sharp 等价物是什么?
如何获取包含特定文件的提交列表,即相当于git log path
for LibGit2Sharp
。
它没有被实施还是有我遗漏的方法?