如何为config-key设置多个值?某些部分支持多个值:
[remote "origin"]
url = git@github.com:schacon/simplegit-progit.git
fetch = +refs/heads/master:refs/remotes/origin/master
fetch = +refs/heads/qa/*:refs/remotes/origin/qa/*
这样的东西在gitLib2Sharp中不起作用:
string[] refSpecs = {"+refs/heads/master:refs/remotes/origin/master", "+refs/heads/qa/*:refs/remotes/origin/qa/*"};
repo.Config.Set( @"remote.origin.fetch", refSpec );
答案 0 :(得分:2)
如何为配置键设置多个值
这确实是LibGit2Sharp中当前缺少的功能。刚刚打开 issue 来跟踪此事。
但是,如果你正在设置/更新遥控器的默认refspecs,那么repo.Network.Remotes.Update()
方法可能已经满足了这种需要,而无需等待问题得到解决。
Remotes.Update()
方法,使其能够应对refspecs更新。因此,您可以使用以下代码来完成您的示例。 var fetchSpecs = new string[]
{
"+refs/heads/master:refs/remotes/origin/master",
"+refs/heads/qa/*:refs/remotes/origin/qa/*"
};
using (var repo = new Repository(path))
{
var remote = repo.Network.Remotes["origin"];
repo.Network.Remotes.Update(remote, r => r.FetchRefSpecs = fetchSpecs);
}