libgit2 / libgit2/libgit2sharp

Exception while trying to retrieve last commit from shallow repo

Aberta
#1,493 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
C#
Estrelas
3.5k
Forks
925
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

In my custom MSBuild task code tries to get last commit hash to put it into one of assembly attributes. Task works very well with repositories cloned with full depth but fails with the following error in repositories with limited depth created with command git clone --depth xx - where xx is number of last commits to clone.

/home/travis/build/DjvuNet/DjvuNet/DjvuNetBuild.Core.targets(20,5): error :
 LibGit2Sharp.NotFoundException: 
object not found - no match for id (d53e5a7166904479d42953bd0f91264f5ace1f6d)
[/home/travis/build/DjvuNet/DjvuNet/DjvuNet.NETStandard2.0/DjvuNet.NETStandard2.0.csproj] 

Code used to retrieve commit data is as follows:

    Repository repo = new Repository(RepoRoot);
    var commits = repo.Commits;
    var commit = commits.FirstOrDefault();

Seems to be libgit2sharp implementation bug as git fully supports enumeration of limited depth repos.

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece pelo ponto de entrada Repository.Commits mostrado no relatório e reproduza a falha com um repositório criado usando git clone --depth xx. Compare a enumeração do repositório shallow com a NotFoundException relatada e, em seguida, verifique se a recuperação do primeiro commit é bem-sucedida sem o erro de objeto ausente. Nenhum arquivo de teste específico é indicado na issue.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
csharp, git
Domínio
devtools
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.