我正在使用libgit2sharp,并且卢布正在连接到我的远程仓库。
我可以连接到本地存储库,但是当我尝试使用存储库Stage 3时出现错误
LibGit2Sharp.LibGit2SharpException: failed to make directory './https:': The filename, directory name, or volume label syntax is incorrect.
大概是因为我没有使用正确的语法。我尝试过不带https://和www的情况。我只尝试了myProject / myRepo,但它们似乎不起作用。
这是有问题的代码。 PathToRepo是存储库路径,创建存储库后每当我检查存储库的分支时,即表示它未连接到远程存储库。该回购协议似乎没有任何问题,但只是不与我的回购协议同步。就是我可以输入一些伪造的回购路径,它会毫无问题地创建,但无法正常工作。
if (!Repository.IsValid(PathToRepo))
{
Repository.Init(PathToRepo);
}
repo = new Repository((PathToRepo));
var brnch = repo.Branches.Where(x => x.FriendlyName == Branch).FirstOrDefault();
if (brnch == null)
{
brnch = repo.CreateBranch(Branch);
}
Commands.Checkout(repo, brnch);
答案 0 :(得分:0)
只是一个猜测,但是您可能想尝试使用.git URL。因此,尝试使用类似https://github.com/torvalds/linux.git
而不是https://github.com/torvalds/linux
答案 1 :(得分:0)
看看您正在使用的LibGit2Sharp.Repository
类的来源:
https://github.com/libgit2/libgit2sharp/blob/master/LibGit2Sharp/Repository.cs
构造函数说String path
参数指向目录。我看不到有任何建议可用于网址,因此我怀疑您使用的构造函数仅适用于本地目录中的本地存储库。
快速搜索了相同的源文件后,我发现ListRemoteReferences
可能会列出远程仓库的引用,而Clone
可能会克隆远程仓库。 (我自己都没有尝试过。)