-
-
Notifications
You must be signed in to change notification settings - Fork 231
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Description
(This plugin was working perfectly for me beforehand)
After compiling to newest Neovim version (as of July 12th, 2025) I am getting this error when opening a file
that's in a directory with git
:
Lua callback:
.../share/nvim/lazy/gitsigns.nvim/lua/gitsigns/diff_int.lua:30: bad argument #1 to 'decode' (string expected, got nil)
stack traceback:
[C]: in function 'decode'
.../share/nvim/lazy/gitsigns.nvim/lua/gitsigns/diff_int.lua:30: in function <.../share/nvim/lazy/gitsigns.nvim/lua/gitsigns/diff_int.lua:29>
Luv thread:
.../share/nvim/lazy/gitsigns.nvim/lua/gitsigns/diff_int.lua:63: attempt to call field 'diff' (a nil value)
Neovim version
NVIM v0.12.0-dev-810+g4778a4c201
Operating system and version
Arch Linux, Linux 6.15.6-arch1-1
Expected behavior
Expected this plugin to work, pretty much
Actual behavior
The plugin triggers and error. I think it still works in some regards but I cannot confirm since it's a very persistent error.
Note that it only happens when a file in a git repository is opened.
Minimal config
for name, url in pairs{
gitsigns = 'https://github.com/lewis6991/gitsigns.nvim',
-- ADD OTHER PLUGINS _NECESSARY_ TO REPRODUCE THE ISSUE
} do
local install_path = vim.fn.fnamemodify('gitsigns_issue/'..name, ':p')
if vim.fn.isdirectory(install_path) == 0 then
vim.fn.system { 'git', 'clone', '--depth=1', url, install_path }
end
vim.opt.runtimepath:append(install_path)
end
require('gitsigns').setup{
debug_mode = true, -- You must add this to enable debug messages
-- ADD GITSIGNS CONFIG THAT IS _NECESSARY_ FOR REPRODUCING THE ISSUE
}
-- ADD INIT.LUA SETTINGS THAT IS _NECESSARY_ FOR REPRODUCING THE ISSUE
-- (DrKJeff16): The config above is LITERALLY enough to trigger this issue, no changes at all!
Steps to reproduce
This only happens when opening a file in a git repository
git clone repository.git
cd repository
nvim --clean -u init.lua <path/to/file>
- (Optional, retriggers the same message)
:ed path/to/another_file
Gitsigns debug messages
0.03 D dprintf: Deriving GitSignsAdd from Added
0.15 D derive: Deriving GitSignsChange from Changed
0.20 D derive: Deriving GitSignsDelete from Removed
0.27 D derive: Deriving GitSignsChangedelete from GitSignsChange
0.31 D derive: Deriving GitSignsTopdelete from GitSignsDelete
0.35 D derive: Deriving GitSignsUntracked from GitSignsAdd
0.39 D derive: Deriving GitSignsAddNr from GitSignsAdd
0.49 D derive: Deriving GitSignsChangeNr from GitSignsChange
0.51 D derive: Deriving GitSignsDeleteNr from GitSignsDelete
0.57 D derive: Deriving GitSignsChangedeleteNr from GitSignsChangeNr
0.62 D derive: Deriving GitSignsTopdeleteNr from GitSignsDeleteNr
0.74 D derive: Deriving GitSignsUntrackedNr from GitSignsAddNr
0.82 D derive: Deriving GitSignsAddLn from DiffAdd
0.91 D derive: Deriving GitSignsChangeLn from DiffChange
0.95 D derive: Deriving GitSignsChangedeleteLn from GitSignsChangeLn
1.00 D derive: Deriving GitSignsTopdeleteLn from GitSignsDeleteLn
1.04 D derive: Deriving GitSignsUntrackedLn from GitSignsAddLn
1.08 D derive: Deriving GitSignsAddCul from GitSignsAdd
1.12 D derive: Deriving GitSignsChangeCul from GitSignsChange
1.16 D derive: Deriving GitSignsDeleteCul from GitSignsDelete
1.20 D derive: Deriving GitSignsChangedeleteCul from GitSignsChangeCul
1.24 D derive: Deriving GitSignsTopdeleteCul from GitSignsDeleteCul
1.28 D derive: Deriving GitSignsUntrackedCul from GitSignsAddCul
1.34 D derive: Deriving GitSignsStagedAdd from GitSignsAdd
1.39 D derive: Deriving GitSignsStagedChange from GitSignsChange
1.45 D derive: Deriving GitSignsStagedDelete from GitSignsDelete
1.49 D derive: Deriving GitSignsStagedChangedelete from GitSignsChangedelete
1.64 D derive: Deriving GitSignsStagedTopdelete from GitSignsTopdelete
1.73 D derive: Deriving GitSignsStagedUntracked from GitSignsUntracked
1.77 D derive: Deriving GitSignsStagedAddNr from GitSignsAddNr
1.81 D derive: Deriving GitSignsStagedChangeNr from GitSignsChangeNr
1.85 D derive: Deriving GitSignsStagedDeleteNr from GitSignsDeleteNr
1.89 D derive: Deriving GitSignsStagedChangedeleteNr from GitSignsChangedeleteNr
1.96 D derive: Deriving GitSignsStagedTopdeleteNr from GitSignsTopdeleteNr
2.00 D derive: Deriving GitSignsStagedUntrackedNr from GitSignsUntrackedNr
2.04 D derive: Deriving GitSignsStagedAddLn from GitSignsAddLn
2.09 D derive: Deriving GitSignsStagedChangeLn from GitSignsChangeLn
2.13 D derive: Deriving GitSignsStagedChangedeleteLn from GitSignsChangedeleteLn
2.15 D derive: Could not derive GitSignsStagedTopdeleteLn
2.17 D derive: Deriving GitSignsStagedUntrackedLn from GitSignsUntrackedLn
2.20 D derive: Deriving GitSignsStagedAddCul from GitSignsAddCul
2.22 D derive: Deriving GitSignsStagedChangeCul from GitSignsChangeCul
2.25 D derive: Deriving GitSignsStagedDeleteCul from GitSignsDeleteCul
2.34 D derive: Deriving GitSignsStagedChangedeleteCul from GitSignsChangedeleteCul
2.37 D derive: Deriving GitSignsStagedTopdeleteCul from GitSignsTopdeleteCul
2.40 D derive: Deriving GitSignsStagedUntrackedCul from GitSignsUntrackedCul
2.46 D derive: Deriving GitSignsAddPreview from DiffAdd
2.49 D derive: Deriving GitSignsDeletePreview from DiffDelete
2.51 D derive: Deriving GitSignsCurrentLineBlame from NonText
2.55 D derive: Deriving GitSignsAddInline from TermCursor
2.59 D derive: Deriving GitSignsDeleteInline from TermCursor
2.64 D derive: Deriving GitSignsChangeInline from TermCursor
2.67 D derive: Deriving GitSignsAddLnInline from GitSignsAddInline
2.71 D derive: Deriving GitSignsChangeLnInline from GitSignsChangeInline
2.74 D derive: Deriving GitSignsDeleteLnInline from GitSignsDeleteInline
2.89 D derive: Deriving GitSignsDeleteVirtLn from DiffDelete
2.96 D derive: Deriving GitSignsDeleteVirtLnInLine from GitSignsDeleteLnInline
3.01 D derive: Deriving GitSignsVirtLnum from GitSignsDeleteVirtLn
3333.56 D git: git --version
3338.75 D git: git rev-parse --show-toplevel --absolute-git-dir --abbrev-ref HEAD
16327.59 D cli.run: Running action 'debug_messages' with arguments {}
20951.00 D cli.run: Running action 'debug_messages' with arguments {}
Gitsigns cache
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working