TreeDefinition item recursive remove not working
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Comece pela chamada TreeDefinition.Remove("sample/removed") na reprodução fornecida e, em seguida, inspecione como ObjectDatabase.CreateTree(current) processa caminhos recursivos. Execute a reprodução no LibGit2Sharp 2.7.2 e verifique se a árvore resultante não contém sample/removed nem o arquivo correspondente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Reproduction steps
Compile & run
using LibGit2Sharp;
Repository.Init(args[0]);
var repo = new Repository(args[0]);
TreeDefinition current = new();
current.Add("sample/stays/to/a/file", repo.ObjectDatabase.CreateBlob("stays".ToStream()), Mode.NonExecutableFile);
current.Add("sample/removed/to/a/file", repo.ObjectDatabase.CreateBlob("removed".ToStream()), Mode.NonExecutableFile);
current.Remove("sample/removed");
var tree = repo.ObjectDatabase.CreateTree(current);
var sig = new Signature("John Doe", "jd@example.com", DateTimeOffset.UtcNow);
var commit = repo.ObjectDatabase.CreateCommit(sig, sig, "Test", tree, new Commit[] { }, false);
var branch = repo.Branches.Add("main", commit, true);
repo.Refs.UpdateTarget(repo.Refs.Head, branch.Reference);
static class Ext
{
public static Stream ToStream(this string data)
{
MemoryStream stream = new();
StreamWriter writer = new(stream);
writer.Write(data);
writer.Flush();
stream.Position = 0;
return stream;
}
}
Expected behavior
sample/removed path is not in repo
Actual behavior
sample/removed is there with the file
Version of LibGit2Sharp (release number or SHA1)
2.7.2
Operating system(s) tested; .NET runtime tested
linux (.net7) & windows (.net7)
- Linguagem predominante
- C#
- Estrelas
- 3.5k
- Forks
- 925
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
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/libgit2sharp
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 52/100
libgit2/libgit2sharp#2193 · 2 comentários ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
libgit2/libgit2sharp#2192 · 1 comentário ·
-
Website is down Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 20/100
libgit2/libgit2sharp#2191 · 2 reações ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
libgit2/libgit2sharp#2189 · 1 reação ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
libgit2/libgit2sharp#2187 · 2 comentários ·
Todas as issues de libgit2/libgit2sharp
Issues semelhantes
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
azurenoops/spin_agent#975 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 92/100
dotnet/AspNetCore.Docs#37699 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
SubtitleEdit/subtitleedit#15108 · 1 comentário ·