问题标签 [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 投票
1 回答
894 浏览

git - 在 Libgit2sharp 中,有没有办法恢复某些文件的更改(未提交)?

在其他源代码控制中,此操作称为还原或撤消。

在 Git 中,我可以使用

“git 签出文件路径”

获得类似的功能。

但是在 Libgit2sharp 中,我找不到类似的功能,有人可以帮我吗?

0 投票
2 回答
669 浏览

asp.net - git 内部版本号 c#

我正在尝试将生成的git describe版本信息嵌入到AssemblyInfo.csASP.NET 网站中的一些标签中。

我已经尝试过使用git-vs-versionino但这假设 Git 可执行文件在PATH. 但是 Windows 上的默认安装msysgit并没有设置它;它使用 git bash。这引起了问题。

现在我正在寻找一种方法来利用libgit2sharp库(对于零外部依赖项)用作内部版本号生成器。但是这个库没有describe命令......

谢谢!

0 投票
1 回答
313 浏览

libgit2sharp - 按提交日期查询 repo 提交的文件顺序

我希望能够在 repo 中收集按提交日期排序的文件。

如何使用 LibGit2Sharp 执行此操作,以便我可以按提交日期订购?

我需要这样做的原因是 LibGit2Sharp 不允许您这样做.Pull(),从而合并更改。如果是这种情况,我会System.IO.DirectoryInfo在 Windows 中按修改日期进行查询。似乎我们只有.Clone(),它不会在文件系统中维护这些日期。

0 投票
1 回答
837 浏览

git - Will merge be available in libgit2sharp?

There are merge functions in libgit2. But I can't find merge funciton in libgit2. Is there any schedule to wrap the implementation in libgit2sharp?

0 投票
2 回答
1382 浏览

tfs - 如何在 TFS Build 中使用私有存储库配置 libgit2?

我目前正在使用 TFS 2013(本地安装)尝试使用 LDAP 身份验证从内部 GitHub Enterprise 安装构建。

我遇到的问题是它无法访问源代码,如何配置 TFS Build 以使用特定的身份验证?

从 TFS 构建日志

异常消息:libgit2 引发错误。类别 = 净(错误)。

VS30063:您无权访问https://user:password@githubrepository.corp.company.net。(类型 LibGit2SharpException)

异常数据字典:

libgit2.code = -1

libgit2.category = 11

异常堆栈跟踪:

服务器堆栈跟踪:

在 LibGit2Sharp.Core.Ensure.HandleError(Int32 结果) 在 LibGit2Sharp.Core.Proxy.git_clone(String url, String workdir, GitCloneOptions opts) 在 LibGit2Sharp.Repository.Clone(String sourceUrl, String workdirPath, Boolean bare, Boolean checkout, TransferProgressHandler onTransferProgress, CheckoutProgressHandler onCheckoutProgress, Credentials credentials) 在 Microsoft.TeamFoundation.Build.Activities.Git.GitPull.GitClone.GetRepository(String repositoryUrl, String workingFolder) 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) 处的 args、对象服务器、Object[]& outArgs)

在 [0] 处重新抛出异常:

在 System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase) 在 System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData) 在 System.Func 3.EndInvoke(IAsyncResult result) at Microsoft.TeamFoundation.Build.Activities.Git.GitPull.GitRepositoryBase.EndExecute(AsyncCodeActivityContext context, IAsyncResult result) at System.Activities.AsyncCodeActivity1.System.Activities.IAsyncCodeActivity。在 System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor 执行器,BookmarkManager 书签管理器)的 FinishExecution(AsyncCodeActivityContext 上下文,IAsyncResult 结果)

跟进

我已经尝试了用于身份验证的 URL 参数(示例)

https://username:password@domain.com/user/project.git

更多跟进

完全卸载并更新到 2013 RC,错误消息也已更新,因为它不同。

我还尝试将构建控制器设置为在 github 企业安装中作为经过身份验证的 LDAP 用户运行。

0 投票
1 回答
246 浏览

.net - 如何解决来自 LibGit2Sharp.Commit 的分支?

给定一个实例,LibGit2Sharp.Commit我如何计算出Branch存在的内容

0 投票
1 回答
1286 浏览

c# - 如何使用 libgit2sharp 获取文件的先前版本

我正在尝试使用libgit2sharp来获取文件的先前版本。我希望工作目录保持原样,至少恢复到以前的状态。

我最初的方法是尝试在我想要的文件上存储、签出路径,将其保存到字符串变量,然后存储弹出。有没有办法储存流行音乐?我不容易找到。这是我到目前为止的代码:

如果有比使用 Stash 更简单的方法,那也很好用。

0 投票
1 回答
747 浏览

git - 如何检测在 LibGit2Sharp 中创建了哪个提交

那么给定一个 LibGit2Sharp 的实例,你Branch如何计算出它最初是从哪个提交创建的?

0 投票
1 回答
1036 浏览

libgit2sharp - Returning all git logs since a specific date with LibGit2Sharp

I'm using Lib2GitSharp to join the Git logs with information from some other systems and I would like to be able to retrieve all git logs since a certain date (or between dates).

I found documentation on querying the log here but it does not appear that there is a way to query the log by date. What would be the equivalent of

in LibGit2Sharp?

Edit This seems to work but perhaps there a better and/or more elegant way?

0 投票
2 回答
861 浏览

git - 如果我在 Libgit2Sharp 中执行 Index.Stage() 然后 Commit(),是否存在竞争条件?

在我的示例代码中,我这样做(在 Windows 上):

如果我使用调试器逐步执行此序列,则通过循环运行的每个循环都会创建一个新的提交,其中包含 text.txt 文件中的预期检查和适当的提交消息。但是,如果我在不阻止它的情况下运行它,我会得到 100 次提交,并带有预期的提交消息,但只有一些提交中有真正的文件更改。它们通常是这种形式:

因此,似乎 repo.Index.Stage() 是异步发生的,并且提交是在注意到文件系统更改之前完成的。这是预期的吗?这是“活泼的 git”行为吗?Libgit2Sharp 中有没有办法明确地等待索引接收到更改?

添加:

  1. 如果我对文件进行附加而不是用不同的行重写,一切正常
  2. 如果我在命令行上使用 git.exe 做同样的事情,我看不到这样的行为