libgit2 / libgit2/libgit2sharp

Possible In-memory repository regression?

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

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

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

説明

So I'm trying to get my branch updated with master https://github.com/Zoxive/libgit2sharp/tree/zoxive/refdb/ which revives the pluggable RefDb backend (#1226)

I've gotten through all the compile issues rebasing it up to the latest with dotnet core, and the codegen stuff. (Took a while to figure out that I had to change all the NativeMethod funcs to use the new custom marshaler)

Anyways all compiles and stuff now.. but testing my changes im running into an error that appears to be coming straight from libgit2.

LibGit2SharpException: path cannot exist in repository

It happens when i have an in memory repository and an OdbBackend.

Heres a sample unit test that shows the problem.
https://github.com/Zoxive/libgit2sharp/commit/7957581353134c17deaa71714ffd24a0a6130c5e

I did see that libgit2 had a regression (https://github.com/libgit2/libgit2/pull/4263) @ethomson fixed.
I'm guessing its related?

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

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

はじめの一歩

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

調査の方向性

まず、コミット 7957581353134c17deaa71714ffd24a0a6130c5e にあるサンプルのユニットテストを、インメモリリポジトリと OdbBackend を使って実行します。失敗を libgit2 のプルリクエスト 4263 と比較し、「path cannot exist in repository」例外がどこで表面化するかを追跡します。他のリポジトリバックエンドにリグレッションを発生させずに再現が成功すれば完了です。

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

評価

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

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

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