update_submodules duplicates
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 32/100
Direção de pesquisa
Comece com o exemplo get_submodules e com as chamadas repo.update_submodules e repo.lookup_submodule. Reproduza o layout aninhado em que Submodule A aparece mais de uma vez e, em seguida, inspecione como as atualizações repetidas são tratadas. O trabalho estará concluído quando a operação recursiva não travar mais com esse layout e o comportamento tiver sido verificado em relação ao cenário relatado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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?
- Linguagem predominante
- Python
- Estrelas
- 1.7k
- Forks
- 408
- Merge médio
- 2d 57min
- PRs com merge (30d)
- 7
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de libgit2/pygit2
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
-
merge_bases not wrapped Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
Todas as issues de libgit2/pygit2
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
bancolombia/sentinel#23 ·
-
test md AbertaCI
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100