Skip to content

Error when opening previously non-existent files with base = '@' #1022

@deponian

Description

@deponian

Description

With base = '@' in the config if you open any file that didn't exist in the previous commit you get the error below after a28bb1d

Neovim version

NVIM v0.10.0 Build type: Release LuaJIT 2.1.1713773202 Run "nvim -V1 -v" for more info

Operating system and version

Arch Linux 2024-05-26

Expected behavior

No errors :)

Actual behavior

Error executing luv callback:
...cal/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/async.lua:85: The coroutine failed with this message: vim/shared.lua:0: s: expected string, got nil
stack traceback:
        [C]: in function 'error'
        vim/shared.lua: in function 'validate'
        vim/shared.lua: in function 'gsplit'
        vim/shared.lua: in function 'split'
        ...local/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/git.lua:521: in function 'file_info'
        ...local/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/git.lua:405: in function 'update'
        ...local/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/git.lua:900: in function 'new'
        ...al/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/attach.lua:273: in function 'fn'
        .../share/nvim/lazy/gitsigns.nvim/lua/gitsigns/debounce.lua:68: in function 'attach_throttled'
        ...al/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/attach.lua:420: in function <...al/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/attach.lua:419>
stack traceback:
        [C]: in function 'error'
        ...cal/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/async.lua:85: in function 'cb'
        ...cal/share/nvim/lazy/gitsigns.nvim/lua/gitsigns/async.lua:127: in function 'on_exit'
        /usr/share/nvim/runtime/lua/vim/_system.lua:300: in function </usr/share/nvim/runtime/lua/vim/_system.lua:270>

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
  base = '@'
}

Steps to reproduce

  1. nvim --clean -u minimal.lua new-filename-that-didnt-exist-in-the-previous-commit.txt

Gitsigns debug messages

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions