libgit2 / libgit2/libgit2sharp

two issues about config remote

オープン
#1,348 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
C#
スター
3.5k
フォーク
925
PR マージ指標
30日以内にマージされた PR はありません

説明

Q1: Hereafter code produce two remote sections in the git config file.

Console.WriteLine(GlobalSettings.Version); //{0.22.0-8daef23-785d8c4 (x86 - Threads, Https)}

using (var repo = new Repository(Repository.Init(".\\test.git", true)))
{
    repo.Network.Remotes.Add("origin", @"https://github.com/libgit2/libgit2sharp.git");
}
var config = File.ReadAllText(@".\\test.git\\config");
Console.Write(config);
/*
[remote "origin"]
    url = https://github.com/libgit2/libgit2sharp.git
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
*/

Q2: How to set a remote as mirror. I think there are no API consider about this.

[remote "origin"]
    url = https://github.com/libgit2/libgit2sharp.git
    fetch = +refs/*:refs/*
    mirror = true

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

Issue に示されている Repository.Init と repo.Network.Remotes.Add の呼び出しから始め、remote 設定の書き込みパスと関連する API を調査します。生成された config を再現し、remote セクションがどのようにシリアライズされるかを確認します。重複セクションの挙動に対処し、要求された mirror 設定に関する問いに明確な API の結果が定義されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
csharp, git
領域
tooling
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。