libgit2 / libgit2/libgit2sharp

BlameHunk line numbers are zero-based?

Aberta
#1,549 1 comentário 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

var x = 5;  // just an example
var options = new BlameOptions {MinLine = x, MaxLine = x};
var hunks = repository.Blame(path, options);
var hunk = hunks.HunkForLine(x);  // throws ArgumentOutOfRangeException: 'No hunk for that line'

It seems that though the line numbers in BlameOptions are one-based (according to the code comments), BlameHunkCollection.HunkForLine, BlameHunk.ContainsLine, BlameHunk.FinalStartLineNumber and BlameHunk.InitialStartLineNumber are all zero based.

Is this a bug, or intentional? If intentional, it would be good to add to the comments on all of these which base is to be expected. Thanks.

I can subtract one in the HunkForLine call to work around for now.

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 por BlameOptions, BlameHunkCollection.HunkForLine, BlameHunk.ContainsLine e pelas propriedades FinalStartLineNumber e InitialStartLineNumber. Reproduza a chamada mostrada, compare a indexação documentada com a observada e determine se as APIs devem ser alinhadas ou documentadas explicitamente; considera-se concluído quando o comportamento for consistente ou estiver claramente especificado.

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

Avaliação

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

Receba novas issues na sua caixa de entrada

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