c#-LibGit2Sharp是否支持从本地文件系统克隆存储库?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-LibGit2Sharp是否支持从本地文件系统克隆存储库?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2826字,纯文字阅读大概需要5分钟。
内容图文
![c#-LibGit2Sharp是否支持从本地文件系统克隆存储库?](/upload/InfoBanner/zyjiaocheng/676/d39c697f29ff426ab7efdfa5356ba0ee.jpg)
我正在尝试从本地文件系统克隆git存储库:
using System;
using LibGit2Sharp;
class Program
{
static void Main()
{
var sourceUrl = @"file:///c:/work/libgit2sharp";
using (Repository.Clone(sourceUrl, "targetDir", bare: true))
{
Console.WriteLine("repository successfully cloned");
}
}
}
我得到一个例外:
Unhandled Exception: LibGit2Sharp.LibGit2SharpException: An error was raised by libgit2. Category = Odb (Error).
Failed to find the memory window file to deregister
at LibGit2Sharp.Core.Ensure.Success(Int32 result, Boolean allowPositiveResult) in c:\work\libgit2sharp\LibGit2Sharp\Core\Ensure.cs:line 85
at LibGit2Sharp.Core.Proxy.git_clone_bare(String url, String workdir, git_transfer_progress_callback transfer_cb) in c:\work\libgit2sharp\LibGit2Sharp\Core\Proxy.cs:line 219
at LibGit2Sharp.Repository.Clone(String sourceUrl, String workdirPath, Boolean bare, Boolean checkout, TransferProgressHandler onTransferProgress, CheckoutProgressHandler onCheckoutProgress) in c:\work\libgit2sharp\LibGit2Sharp\Repository.cs:line 431
at Program.Main() in c:\work\ConsoleApplication1\Program.cs:line 10
我也尝试了以下源URL:
var sourceUrl = @"c:\work\libgit2sharp\.git\";
并得到另一个例外:
Unhandled Exception: LibGit2Sharp.LibGit2SharpException: An error was raised by libgit2. Category = Config (Error).
Failed to parse config file: Unexpected end of file while parsing multine var (in c:/work/ConsoleApplication1/bin/Debug/targetDir/config:23, column 0)
at LibGit2Sharp.Core.Ensure.Success(Int32 result, Boolean allowPositiveResult) in c:\work\libgit2sharp\LibGit2Sharp\Core\Ensure.cs:line 85
at LibGit2Sharp.Core.Proxy.git_clone_bare(String url, String workdir, git_transfer_progress_callback transfer_cb) in c:\work\libgit2sharp\LibGit2Sharp\Core\Proxy.cs:line 219
at LibGit2Sharp.Repository.Clone(String sourceUrl, String workdirPath, Boolean bare, Boolean checkout, TransferProgressHandler onTransferProgress, CheckoutProgressHandler onCheckoutProgress) in c:\work\libgit2sharp\LibGit2Sharp\Repository.cs:line 431
at Program.Main() in c:\work\ConsoleApplication1\Program.cs:line 12
永远不会创建targetDir.
另一方面,如果我使用HTTP传输,则Repository.Clone方法可以正常工作:
var sourceUrl = "https://github.com/libgit2/libgit2sharp";
所以我的问题是,如果我做错了什么,或者这是不受支持的功能,还是本机git2.dll中的错误?
解决方法:
So my question is if I am doing something wrong or if this is unsupported feature or a bug in the native git2.dll?
实际上,两者都有一点.
>第一个例外显然是一个错误.这不应该发生,并且会引起麻烦.
>第二个需要更深入的分析.您是否愿意在LibGit2Sharp项目中打开问题?
好消息是,最近合并了来自BenStraub的提取请求.该pull request实现了本地提取传输,应该可以很好地解决该问题.
LibGit2Sharp将在接下来的几天中使用新的libgit2二进制新版本进行更新,该版本应允许您执行本地克隆/获取.完成后,我将立即更新此答案.
更新资料
此test显示了如何对本地存储库进行克隆和推送.
内容总结
以上是互联网集市为您收集整理的c#-LibGit2Sharp是否支持从本地文件系统克隆存储库?全部内容,希望文章能够帮你解决c#-LibGit2Sharp是否支持从本地文件系统克隆存储库?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。