update_submodules duplicates
まだ誰も着手していません。
評価
調査の方向性
get_submodules の例と repo.update_submodules および repo.lookup_submodule の呼び出しから始めます。Submodule A が複数回現れる入れ子構造を再現し、その後、更新の繰り返しがどのように処理されるかを調べます。その構造で再帰的な操作がクラッシュしなくなり、報告されたシナリオに対して動作が検証されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
I'm trying to replicate git clone --recursive in pygit2, and this is the function I've come up with.
def get_submodules(repo, creds):
submodules = repo.listall_submodules()
repo.init_submodules(submodules=submodules)
repo.update_submodules(submodules=submodules, callbacks=creds)
for submodule_path in submodules:
submodule = repo.lookup_submodule(submodule_path)
sub_repo = submodule.open()
get_submodules(sub_repo, creds)
The problem I'm having is that in certain circumstances, this will cause crashes. Let me paint the picture.
Master Repo
- Submodule A
- Submodule B
2.1 Submodule A
2.2 Submodule D - Submodule C
When update_submodules attempts to run on Submodule A the second time, it crashes. Not completely sure how to get around this. Some repos are in this format, but I haven't found a workaround. Any thoughts?
- 主要言語
- Python
- スター
- 1.7k
- フォーク
- 408
- 平均マージ
- 2日 57分
- マージ済み PR(30日)
- 7
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
libgit2/pygit2 のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
似ている issue
-
link-check link-check:sphinx-theme
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
qgis/QGIS-Documentation#11275 ·
-
bug priority:normal ready-for-dev
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
OpenHands/extensions#626 · コメント 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
CSCfi/sd-search-api#39 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100