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

git - 使用 LibGit2Sharp 截断 GIT 提交历史

我计划以非正统的方式使用 LibGit2/LibGit2Sharp 和 GIT,我要求任何熟悉 API 的人确认我的建议在理论上可行。:)

设想

只有主分支将存在于存储库中。将跟踪和提交大量包含大型二进制和非二进制文件的目录。大多数二进制文件将在提交之间更改。由于磁盘空间限制,存储库应包含不超过 10 个提交(磁盘现在经常被填满)。

API 没有提供一个函数,该函数将从指定的 CommitId 开始截断提交历史记录到主分支的初始提交,并删除任何因此而悬空的 GIT 对象。

我已经使用 ReferenceCollection.RewiteHistory 方法进行了测试,我可以使用它从提交中删除父母。这为我创建了一个新的提交历史,从 CommitId 开始回到 HEAD。但这仍然会留下所有旧提交以及这些提交所独有的任何引用或 blob。我现在的计划是自己简单地清理这些悬空的 GIT 对象。有没有人看到这种方法有任何问题或有更好的方法?

0 投票
1 回答
330 浏览

libgit2sharp - libgit2sharp:如何使用相同的键设置多个值

如何为配置键设置多个值?某些部分支持多个值:

像这样的东西在 gitLib2Sharp 中不起作用:

0 投票
1 回答
597 浏览

libgit2 - libgit2 是自动打包仓库吗

我在 LibGit2 中没有看到垃圾收集命令,所以我想知道它当前是否自动将文件打包到本地存储库中。

0 投票
1 回答
595 浏览

libgit2sharp - 如何使用 LibGit2Sharp 删除遥控器?

我检查了 libgit2sharp v0.15.0,似乎没有删除遥控器的方法。

有什么办法吗?

0 投票
1 回答
232 浏览

libgit2 - 一个 sha 值表示 git 存储库的状态

当前状态下 git 存储库的状态有一个 sha 值表示吗?

如果 git 具有此 sha 值,则每次对象数据库更新和引用更改时要更新的 sha 值。

换句话说,sha 值代表整个存储库的当前版本。

这是我计算当前引用的 sha 的代码。有 git 级别的 API 或接口吗?

0 投票
1 回答
1468 浏览

libgit2 - 如何在 gitattributes 中应用语言的差异规则

例如,.gitattributes文件lg2s*.cs diff=csharp. 代码的输出

是(不久)

但输出git bash是(很快)

第二行不一样。

看起来有一个深入的讨论Add .gitattributes support libgit2/#508,但是 PR Add APIs for git attributes libgit2/#516是否合并?

现在支持多少种语言?

我们可以在没有gitattributes文件的情况下指定规则吗?

0 投票
1 回答
1994 浏览

c# - C# 如何使用 libgit2Sharp 读取提交时间

我正在尝试使用 libgit2Sharp 列出存储库中的所有提交、它们的作者和提交日期,但提交对象没有创建提交的日期/时间的属性。

我没有找到 libgit2sharp 项目的任何文档,在官方页面上它说:

简单地说:我们目前缺乏适当的文档。对此主题的任何帮助将不胜感激;-)

如何访问提交的时间?

0 投票
1 回答
2783 浏览

c# - 如何使用 lib2git 和 C# 正确结帐

更新2:[更新1在帖子的末尾)

我终于设法结帐了,这是个好消息;)。

坏消息是:一次提交需要 2 分 36 秒。如果我是这个程序的用户,我不会等那么久......

与往常一样,“git”是存储库的一个实例,包含存储库......接下来我的结帐电话:

如果您需要完整的源代码(99% 未注释),请询问,我会将当前版本放到网上....感谢您的回答 :)

你的,

弗洛里安·赖辛格





原帖:

标题说明了一切 ;) 什么是有效的:我有一个Commit[] 步骤,其中充满了来自 repo 的提交我想在 "i" git == Lib2Git Repo 位置签出提交

由于什么都没发生,我停止了程序。我确实输出了提交的数量,从 30 下降到 1....我真的需要帮助...

PS:我知道有过载

最后一件事是代表。所以我猜这个问题可以描述为“如何使用委托,虽然我不确定,但这将有助于解决从 30 次提交到 1 次提交的问题......

编辑:

更长的源代码。我想使用 C# 和 libgit 实现 bisect GUI.... 代码 1) 获取 Commit[] 步骤

用同样的方法,然后是 Bisect 的东西。我用 Commit 和一个表示特定值的 int 创建了一个 BisectStep 类......

最后但并非最不重要的 doStep 方法

“GBS”是一个带有 3 个按钮(好、坏、跳过)的 Win-Form

希望这个编辑只是一点点帮助;)

0 投票
1 回答
564 浏览

libgit2sharp - 如何确定捕获的 LibGit2SharpException 是 HTTP 401 错误?

当我尝试使用无效凭据获取更改( RepositoryExtensions.Fetch )时, LibGit2Sharp会抛出LibGit2SharpException并显示以下消息:

由于可能存在其他错误,有没有办法在不解析消息的情况下确定异常实际上是 HTTP 401 错误?

0 投票
1 回答
1241 浏览

git - 为什么我在提交文件时收到 Libgit2 的错误“NoMemory”?

我正在使用 Visual Studio Online 和使用 Visual Studio 2013 作为客户端的 Git。

我正在尝试将文件添加到我的存储库中,当我提交它们时,我在团队资源管理器窗口中收到以下错误:

有没有人见过这个?