2

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 );   
4

1 に答える 1

2

config-key に複数の値を設定する方法

これは実際、LibGit2Sharp に現在欠けている機能です。これを追跡するために問題が開かれました。

ただし、リモートのデフォルトのrefspecを設定/更新する場合はrepo.Network.Remotes.Update()、問題が修正されるのを待たずに、メソッドがすでにそのニーズに適合している可能性があります。

  • プル リクエスト#567は最近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);
    }
  • 多かれ少なかれ関連する、プル リクエスト#553は、リモートのすべての refspec を列挙する簡単な方法を導入しました
于 2013-12-13T19:52:25.250 に答える