libgit2 / libgit2/libgit2sharp

BlameHunk line numbers are zero-based?

Ouverte
#1,549 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
C#
Étoiles
3.5k
Forks
925
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par BlameOptions, BlameHunkCollection.HunkForLine, BlameHunk.ContainsLine et les propriétés FinalStartLineNumber et InitialStartLineNumber. Reproduisez l’appel montré, comparez l’indexation documentée et celle observée, puis déterminez si les APIs doivent être harmonisées ou documentées explicitement ; le travail est terminé lorsque le comportement est cohérent ou clairement spécifié.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
csharp, git
Domaine
api
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.