Incorrect detection of modified/renamed files
オープン
まだ誰も着手していません。
- 主要言語
- Python
- スター
- 1.7k
- フォーク
- 408
- 平均マージ
- 2日 57分
- マージ済み PR(30日)
- 7
説明
Test code:
import pygit2
repo = pygit2.Repository(pygit2.discover_repository(<repo_path>))
status = repo.status()
for filepath, flags in status.items():
print(filepath, flags)
Running Result:
child.py 128
example.py 128
mvv.txt 513
mvvv.txt 4
name2.py 128
parent.py 128
x/mvv.txt 128
x/mvvv.txt 513
x/parent2.py 128
xname.py 128
zname.py 512
zname1.py 128
However, git status given me the result as:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: mvvv.txt -> mvv.txt
new file: x/mvvv.txt
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
deleted: mvv.txt
deleted: x/mvvv.txt
deleted: zname.py
Untracked files:
(use "git add <file>..." to include in what will be committed)
.idea/
child.py
example.py
name2.py
parent.py
x/mvv.txt
x/parent2.py
xname.py
zname1.py
Which contains the renamed records.
Why this happened?
(If you want the test repo, I can zip it and send to your team mail if anyone provide me one.)
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
示されている Python スニペットとエントリポイント repo.status() から始め、次に対応する git status の出力に対して列挙された flags を再現します。欠落している、または異なる rename レコードが想定された動作なのかバグなのかを判断し、想定される結果と再現可能な検証手順を記録します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- git, python
- 領域
- tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 28/100