lewis6991 / gitsigns.nvim

Git integration for buffers
MIT License
4.91k stars 186 forks source link

older/newer commit for blame_line #198

Open CallumHoward opened 3 years ago

CallumHoward commented 3 years ago

Is your feature request related to a problem? Please describe. The git-messenger.vim plugin has functionality to show previous commits for the blame_line, see here. When the commit message window is focussed, o and O can be used to move between older and newer commits. I miss this functionality.

Describe the solution you'd like Functions that can be mapped that allow moving between older and newer commits for the blame_line.

Describe alternatives you've considered Current workaround is to open in GitHub blame and click the icon which goes to previous commit for a line. Another alternative is to also install git-messenger.vim.

Additional context git-messenger.vim gif git-messenger.vim gif

lewis6991 commented 2 years ago

I'm really not sure how useful the older/newer feature is in git-messenger.

I've had a go at implementing this, and I've found the results less than ideal. For example, if a commit introduces a line, git-messenger would blame at the same line despite the fact the line didn't exist in other commits. There were more cases I've found that just gave the wrong results. This all stems from the fact that git blame doesn't give the right information on how to blame lines in older commits. To do this properly, you need to account for line changes by inspecting the hunks of the commit at each blame.

Honestly, I think you are much better off using :Git blame from fugitive.

ecosse3 commented 2 years ago

I found it really useful while working on big projects when many developers maintain code. If you are fixing some bug, it was very easy to find what was the previous implementation on the selected line than searching git_bcommits via telescope/lazygit. Results were always satisfying.

ambroisie commented 1 month ago

@lewis6991 given that you implemented Gitsigns blame and its "re-blame at [parent] commit" functionality, would you be willing to re-visit this feature request (and #366)?

lewis6991 commented 1 month ago

I don't work on feature requests for other people. I implement what I want.