flaky repo.reset() behavior
還沒有人認領這個 Issue。
評估
研究方向
首先使用 pygit2 1.2.0 重現已回報的 CI 流程:在非 bare repository 中修改並提交一個檔案,使用 GIT_RESET_HARD 呼叫 repo.reset(),接著建立新的 Repository,並比較 repo.status() 與 repo.diff()。完成的標準是確認間歇性出現的 WT_MODIFIED 結果是源自 pygit2 還是 libgit2,並記錄原因或已確認的修正途徑。
由索引模型根據 Issue 內容生成。
描述
This issue is about repo.reset() not seeming to work reliably 100% of the time.
I have some CI tests that modify a file in a non-bare repo, commit the change to a branch, and then call repo.reset() with GIT_RESET_HARD to restore to a different commit. After calling reset, to confirm that the reset was successful, the test creates a new Repository object and checks the repository's status using repo.status(). Occasionally (but very rarely), the status check comes back showing the original file still as WT_MODIFIED. A subsequent call to repo.diff() confirms the difference in the file. Is there something pygit2 is or isn't doing that could cause reset() to behave flakily like this? Or is libgit2 the more likely culprit?
This is using pygit2 1.2.0. I can try upgrading, but is there a reason to think this would be fixed in a newer version (e.g. a known issue that was fixed)? I haven't found anything like this in pygit2 or libgit2's issue tracker or release notes.
- 主要語言
- Python
- 星號
- 1.7k
- 分支
- 408
- 平均合併
- 1 天 15 小時
- 30 天內合併 PR
- 7
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
libgit2/pygit2 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 72/100
-
難度 1/5 1 小時以內 新手友好度 88/100
-
Feature Request: Support app-level temporary config overrides using libgit2's backend supprt可能已有人在做 關聯的 PR 仍在進行中或已合併。 未關閉
難度 4/5 3-5 天 新手友好度 45/100
-
難度 3/5 1-2 天 新手友好度 48/100
-
難度 3/5 1-2 天 新手友好度 55/100
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 62/100
維護者通常 1 天內回覆
-
enhancement good first issue Stellar Wave trivial
難度 2/5 1-3 小時 新手友好度 75/100
StellarCanary/ProtocolCanary-Fixtures#258 ·
維護者通常 1 天內回覆
-
enhancement
難度 2/5 1-3 小時 新手友好度 70/100
IBM/ai-atlas-nexus#295 ·
維護者通常 6 天內回覆
-
github_actions
難度 2/5 1-3 小時 新手友好度 65/100
Hochfrequenz/aibap.mcp#578 ·
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 75/100
mishraprafful/multihull#150 ·
維護者通常 1 天內回覆