在Ubuntu上构建libgit2sharp

时间:2014-09-07 22:23:35

标签: c# mono ubuntu-14.04 libgit2 libgit2sharp

我正在尝试使用Mono 3.6.0在我的Ubuntu 14机器上构建libgit2sharp的v0.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 

我得到了更多这样的错误。完整日志为here

1 个答案:

答案 0 :(得分:1)

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

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

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