libgit2 / libgit2/libgit2sharp

Commit indexer is not working for repository root

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

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

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

説明

I am creating Virtual File system for my application. As input I am getting file paths or directory paths. I found that app works perfectly for any paths except for root.

Technically speaking I cannot get TreeEntry for repo root directory.

            Commit commit = GetCommit(commitHash);

            // this works
            var file = commit["foo.txt"];
            var dir1 = commit["var/logs"];
            var dir2 = commit["var"];

            // this doesn't work
            ver rootDir = commit["/"]; // returns null

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

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

はじめの一歩

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

調査の方向性

ここで説明されている commit indexer と TreeEntry の動作を使用して、commit["foo.txt"]、commit["var"]、commit["/"] の違いを再現してください。Indexer がリポジトリのルートをどのように解決するかを追跡し、ルートの検索が期待される TreeEntry を返し、ファイルやネストされたディレクトリの検索を壊さないことを確認してください。

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

評価

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

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

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