在Ubuntu上构建libgit2sharp

本文关键字:libgit2sharp 构建 Ubuntu | 更新日期: 2023-09-27 18:20:55

我正试图使用Mono 3.6.0在我的Ubuntu 14机器上构建libgit2sharp的0.19版本。但是当我打电话的时候/build.libgit2sharp.sh我收到了很多像下面这样的消息。

/home/chris/projects/libgit2sharp/CI-build.msbuild: error: 
LibGit2Sharp.Tests.CloneFixture.CanCloneBarely(url: "http://github.com/libgit2/TestGitRepository"): LibGit2Sharp.LibGit2SharpException : An error was raised by libgit2. Category = Net (Error).
Only relative redirects are supported

错误消息总是相同的"仅支持相对重定向"。

我在问题跟踪器上读到,libgit2sharp构建的Mono版本可能会出现问题,3.6.0可以吗?


事实证明我错了,上面的错误是我试图构建v0.14时发生的(我忘记切换分支)。我在v0.19上的错误是:

/home/chris/projects/libgit2sharp/CI/build.msbuild: error : LibGit2Sharp.Tests.BlameFixture.CanBlameFromADifferentCommit: Assert.Throws() Failure Expected: LibGit2Sharp.LibGit2SharpException Actual:   System.EntryPointNotFoundException: git_blame_file 

我犯了很多这样的错误。完整日志在这里。

在Ubuntu上构建libgit2sharp

单声道版本不是问题。无论如何,网络代码都不是在C#中实现的。

由于各种原因,libgit2 HTTP层目前只支持相对重定向。当你使用http作为方案时,GitHub首先需要告诉你使用HTTPS,这必须是一个绝对的重定向。

如果你使用HTTPS连接到GitHub,它将正常工作(在任何情况下,你都应该使用HTTPS)。