-
-
Notifications
You must be signed in to change notification settings - Fork 934
Repo.blame don't return multi lines. #47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I can confirm this problem with Python-0.3.2.RC1.tar.gz from PyPi, but it seems it works correctly with current master branch (tested with cd72d78). |
Hi niyaton, Can you confirm that it works for you with the latest version on the 0.3 branch ? Thanks |
I believe this is still present in 0.3.2 RC1. When blaming a file I only get one line of code per blame element. It's particularly annoying in the case of empty lines.
|
It's very easy to fix, see the commit from my fork (link is in the issue because my commit references it) |
I could verify that the fix by @vitalif doesn't break a test, but on the other hand, the blame test is not particularly strict either. Also it seems the fix tries to reference a variable which is possibly undefined. |
The latest version definitely supports multiple lines per blame object. |
According to API reference,
The blame information for the given file at the given revision.
Parm rev: revision specifier, see git-rev-parse for viable options.
Returns: list: [git.Commit, list: []] A list of tuples associating a Commit object with a list of lines that changed within the given commit. The Commit objects will be given in order of appearance.
blame method returns list of lines but I think the method always returns only one line.
The method pick up the first line of lines which were written in same commit (other lines are skipped and method don't return its information).
The behavior come from the lien 620 of git/repo/base.py.
The variable 'info' is initialized only when a line is first line of same commit.
But 'info' will be None after processing a line (the lien is not commit information).
We have to initialize 'info' to process subsequent lines.
The text was updated successfully, but these errors were encountered: