-
-
Notifications
You must be signed in to change notification settings - Fork 192
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(stage): staging of files with no nl at eof
Previously when diffing two files where one did not have a newline at the end of the file, gitsigns was unable to stage such differences since this information was not captured during the diff stage. If you run `vim.diff('a', 'a\n')` you get the result: @@ -1 +1 @@ -a \ No newline at end of file +a However if you run `vim.diff('a', 'a\n', {result_type='indices'})` you get: { {1, 1, 1, 1} } And since Gitsigns tracks changes as a list of text lines, the information about a missing newline at the end of the file is not correctly tracked. The main consequence of this is that staging hunks which contain these lines would result in an error as the generated patch would not apply since it was missing "\ No newline at end of file". To fix this, the internal hunk object now tracks this end of file information and patches are now generated correctly.
- Loading branch information
Showing
3 changed files
with
35 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters