libgit2 / libgit2/libgit2sharp
GitRepo.Commits.QueryBy(fpath) fails with "Given key not present in dictionary" for some folders only on master branch!
まだ誰も着手していません。
- 主要言語
- C#
- スター
- 3.5k
- フォーク
- 925
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I use this code:
GitRepo = new Repository(Repository.Discover(SolutionDir));
string fpath = folder.Replace(SolutionDir, string.Empty).Replace("\", "/").TrimStart('/');
foreach (var c in GitRepo.Commits.QueryBy(fpath).Take(1))
{
revisionsList.Add(folder.Split(Path.DirectorySeparatorChar).Last(), c.Commit.Committer.When.ToUnixTimeSeconds());
}
The GitRepo.Commits.QueryBy(fpath) fails for some folders on master branch and only on master.
It works fine when you run it of a branch made from master.
I tried to get back the version of the library and found this code works in v0.22.1 from nuget.
It fails for 0.23.0, 0.23.1, 0.24.0 - all tested to fail.
If you can fix it in 0.24.1 will be great.
Thanks,
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
GitRepo.Commits.QueryBy(fpath) から開始し、master 上の影響を受けるフォルダーについて辞書例外を再現し、master から作成したブランチと比較します。v0.22.1 と v0.23.0–v0.24.0 の間で動作を比較します。同じパスが master で失敗しなくなり、期待される commit データを引き続き返すようになれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- csharp, git
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100