sindrets / diffview.nvim

Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
Other
3.57k stars 101 forks source link

[Bug] Error when opening a diffview on a rebase #504

Closed LamprosPitsillos closed 1 month ago

LamprosPitsillos commented 1 month ago

Description

E1510: Value too large:                                                                       
Error executing vim.schedule lua callback:  

I get the above error when opening DIffview on a rebase

Expected behavior

For the diffview to open and resolve as usual

Actual behavior

E1510: Value too large:                                                                       
Error executing vim.schedule lua callback:  

+

image

Steps to reproduce

1) clone master 2) switch to branch ve_buf_set_text 3) git rebase master 3) nvim --clean -u mini.lua 4) DiffviewOpen 5) error appears

Health check

Output of :checkhealth diffview ``` diffview: require("diffview.health").check() Checking plugin dependencies ~ - OK nvim-web-devicons installed. Checking VCS tools ~ - The plugin requires at least one of the supported VCS tools to be valid. - OK Git found. - OK Git is up-to-date. (2.44.0) - WARNING Configured `hg_cmd` is not executable: 'hg' ```

Log info

Relevant info from :DiffviewLog ``` [INFO 2024-01-09 11:14:52.645 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [ERROR 2024-01-09 11:14:53.914 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/job.lua:329: Job exited with a non-zero exit code: 1 [ERROR 2024-01-09 11:14:53.914 +0200] ...azy/diffview.nvim/lua/diffview/vcs/adapters/git/init.lua:328: [job-info] Exit code: 1 [ERROR 2024-01-09 11:14:53.914 +0200] ...azy/diffview.nvim/lua/diffview/vcs/adapters/git/init.lua:328: [cmd] git 'merge-base' 'HEAD' 'REBASE_HEAD' [ERROR 2024-01-09 11:14:53.914 +0200] ...azy/diffview.nvim/lua/diffview/vcs/adapters/git/init.lua:328: [cwd] /home/inferno/docs/Programming/NEOVIM/neovim [INFO 2024-01-09 13:05:32.238 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-01-09 13:05:32.550 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 1 files successfully (166.446 ms) [INFO 2024-01-09 13:06:59.868 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 1 files successfully (197.154 ms) [INFO 2024-01-09 13:56:53.351 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-01-09 13:56:53.661 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 2 files successfully (155.795 ms) [INFO 2024-01-13 25:40:15.873 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-01-13 25:40:16.264 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 18 files successfully (179.916 ms) [INFO 2024-01-13 03:16:51.695 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-01-13 03:16:52.010 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 22 files successfully (139.934 ms) [INFO 2024-02-06 20:11:34.857 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-02-06 20:11:35.211 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 9 files successfully (151.322 ms) [INFO 2024-03-01 11:23:48.947 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-03-01 11:23:49.174 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 4 files successfully (109.389 ms) [INFO 2024-03-01 11:24:55.693 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 4 files successfully (199.081 ms) [INFO 2024-03-11 20:23:21.483 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-03-11 20:23:21.713 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 19 files successfully (95.819 ms) [INFO 2024-03-27 10:19:45.626 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-03-27 10:19:46.717 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 0 files successfully (831.923 ms) [INFO 2024-03-27 11:13:16.494 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-03-27 11:13:17.712 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 2 files successfully (1026.485 ms) [ERROR 2024-03-27 11:13:17.745 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/job.lua:329: Job expected output, but returned nothing! Code: 128 [ERROR 2024-03-27 11:13:17.745 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [job-info] Exit code: 128 [ERROR 2024-03-27 11:13:17.745 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [cmd] git 'show' ':2:pkgs/by-name/ti/tinymist/package.nix' [ERROR 2024-03-27 11:13:17.745 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [cwd] /home/inferno/docs/Programming/NIX/nixpkgs [ERROR 2024-03-27 11:13:17.745 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [stderr] fatal: path 'pkgs/by-name/ti/tinymist/package.nix' is in the index, but not at stage 2 hint: Did you mean ':1:pkgs/by-name/ti/tinymist/package.nix'? [WARN 2024-03-27 11:13:17.746 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/job.lua:381: (1/2) Retrying job... [ERROR 2024-03-27 11:13:17.781 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/job.lua:329: Job expected output, but returned nothing! Code: 128 [ERROR 2024-03-27 11:13:17.781 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [job-info] Exit code: 128 [ERROR 2024-03-27 11:13:17.781 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [cmd] git 'show' ':2:pkgs/by-name/ti/tinymist/package.nix' [ERROR 2024-03-27 11:13:17.781 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [cwd] /home/inferno/docs/Programming/NIX/nixpkgs [ERROR 2024-03-27 11:13:17.781 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [stderr] fatal: path 'pkgs/by-name/ti/tinymist/package.nix' is in the index, but not at stage 2 hint: Did you mean ':1:pkgs/by-name/ti/tinymist/package.nix'? [WARN 2024-03-27 11:13:17.782 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/job.lua:381: (2/2) Retrying job... [ERROR 2024-03-27 11:13:17.816 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/job.lua:329: Job expected output, but returned nothing! Code: 128 [ERROR 2024-03-27 11:13:17.816 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [job-info] Exit code: 128 [ERROR 2024-03-27 11:13:17.816 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [cmd] git 'show' ':2:pkgs/by-name/ti/tinymist/package.nix' [ERROR 2024-03-27 11:13:17.816 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [cwd] /home/inferno/docs/Programming/NIX/nixpkgs [ERROR 2024-03-27 11:13:17.816 +0200] ...are/nvim/lazy/diffview.nvim/lua/diffview/vcs/adapter.lua:343: [stderr] fatal: path 'pkgs/by-name/ti/tinymist/package.nix' is in the index, but not at stage 2 hint: Did you mean ':1:pkgs/by-name/ti/tinymist/package.nix'? [ERROR 2024-03-27 11:13:17.817 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/job.lua:337: All retries failed! [ERROR 2024-03-27 11:13:17.818 +0200] ...re/nvim/lazy/diffview.nvim/lua/diffview/scene/window.lua:106: ...cal/share/nvim/lazy/diffview.nvim/lua/diffview/async.lua:187: The coroutine failed with this message: context: cur_thread= co_thread= co_func=.../share/nvim/lazy/diffview.nvim/lua/diffview/vcs/file.lua:199 .../share/nvim/lazy/diffview.nvim/lua/diffview/vcs/file.lua:252: Job expected output, but returned nothing! Code: 128 fatal: path 'pkgs/by-name/ti/tinymist/package.nix' is in the index, but not at stage 2 hint: Did you mean ':1:pkgs/by-name/ti/tinymist/package.nix'? stack traceback: [C]: in function 'error' .../share/nvim/lazy/diffview.nvim/lua/diffview/vcs/file.lua:252: in function <.../share/nvim/lazy/diffview.nvim/lua/diffview/vcs/file.lua:199> [C]: in function 'xpcall' ...cal/share/nvim/lazy/diffview.nvim/lua/diffview/async.lua:361: in function <...cal/share/nvim/lazy/diffview.nvim/lua/diffview/async.lua:358> stack traceback: [C]: in function 'error' ...cal/share/nvim/lazy/diffview.nvim/lua/diffview/async.lua:369: in function <...cal/share/nvim/lazy/diffview.nvim/lua/diffview/async.lua:358> [ERROR 2024-03-27 11:13:17.818 +0200] ...cal/share/nvim/lazy/diffview.nvim/lua/diffview/utils.lua:83: Failed to create diff buffer: ':2:pkgs/by-name/ti/tinymist/package.nix' [INFO 2024-03-27 11:15:18.676 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-03-27 11:15:19.949 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 2 files successfully (962.628 ms) [INFO 2024-03-27 11:20:12.972 +0200] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-03-27 11:20:14.044 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 2 files successfully (926.178 ms) [INFO 2024-03-27 11:20:27.501 +0200] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 2 files successfully (537.424 ms) [INFO 2024-04-22 17:30:28.931 +0300] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-04-22 17:30:29.280 +0300] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 12 files successfully (217.772 ms) [INFO 2024-04-22 18:16:27.511 +0300] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-04-22 18:16:27.653 +0300] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:483: [DiffView] Completed update for 12 files successfully (84.707 ms) [INFO 2024-05-24 10:47:35.090 +0300] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-05-24 10:47:35.713 +0300] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:488: [DiffView] Completed update for 12 files successfully (462.174 ms) [INFO 2024-05-24 10:47:58.413 +0300] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-05-24 10:47:59.022 +0300] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:488: [DiffView] Completed update for 12 files successfully (479.302 ms) [INFO 2024-05-24 10:49:41.522 +0300] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-05-24 10:49:42.121 +0300] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:488: [DiffView] Completed update for 12 files successfully (497.360 ms) [INFO 2024-05-24 10:55:04.312 +0300] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-05-24 10:55:04.889 +0300] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:488: [DiffView] Completed update for 12 files successfully (459.412 ms) [INFO 2024-05-24 11:00:27.744 +0300] ...local/share/nvim/lazy/diffview.nvim/lua/diffview/lib.lua:24: [command call] :DiffviewOpen [INFO 2024-05-24 11:00:28.285 +0300] ...iffview.nvim/lua/diffview/scene/views/diff/diff_view.lua:488: [DiffView] Completed update for 13 files successfully (438.913 ms) ```

Neovim version

NVIM v0.10.0-dev-3b29b39
Build type: Release
LuaJIT 2.1.1693350652
Run "nvim -V1 -v" for more info

Operating system and version

Linux 6.6.30 x86_64 GNU/Linux - NixOs

Minimal config

-- #######################################
-- ### USAGE: nvim --clean -u mini.lua ###
-- #######################################

local root = vim.fn.stdpath("run") .. "/nvim/diffview.nvim"
local plugin_dir = root .. "/plugins"
vim.fn.mkdir(plugin_dir, "p")

for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

local plugins = {
  { "nvim-web-devicons", url = "https://github.com/nvim-tree/nvim-web-devicons.git" },
  { "diffview.nvim", url = "https://github.com/sindrets/diffview.nvim.git" },
  -- ##################################################################
  -- ### ADD PLUGINS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE ###
  -- ##################################################################
}

for _, spec in ipairs(plugins) do
  local install_path = plugin_dir .. "/" .. spec[1]
  if vim.fn.isdirectory(install_path) ~= 1 then
    if spec.url then
      print(string.format("Installing '%s'...", spec[1]))
      vim.fn.system({ "git", "clone", "--depth=1", spec.url, install_path })
    end
  end
  vim.opt.runtimepath:append(spec.path or install_path)
end

require("diffview").setup({
  -- ##############################################################################
  -- ### ADD DIFFVIEW.NVIM CONFIG THAT IS _NECESSARY_ FOR REPRODUCING THE ISSUE ###
  -- ##############################################################################
})

vim.opt.termguicolors = true
vim.cmd("colorscheme " .. (vim.fn.has("nvim-0.8") == 1 and "habamax" or "slate"))

-- ############################################################################
-- ### ADD INIT.LUA SETTINGS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE ###
-- ############################################################################

print("Ready!")
sindrets commented 1 month ago

Your reproduction steps seem to be missing details about how you actually produced the conflict. I tried the following and wasn't able to reproduce:

In shell:

git clone git@github.com:LamprosPitsillos/neovim.git lampros-nvim
cd lampros-nvim
git checkout -b ve_buf_set_text origin/ve_buf_set_text
git remote add upstream git@github.com:neovim/neovim.git
git remote update upstream
git rebase upstream/master
# This leads to a merge conflict in `src/nvim/api/buffer.c`

nvim --clean -n -i NONE -u mini.lua -c DiffviewOpen
# Works fine.

The error is also very strange E1510: Value too large. The help page for this error seems to suggest this has something to do with an invalid [count] or [range], which seems very strange to me. I also see that you're running on a dev build; have you tried reproducing the issue on a stable release of nvim?

LamprosPitsillos commented 1 month ago

It seems that i was using an OLD dev build by accident , updating to the latest nightly solved the issue .

Sorry for the trouble and wasting your time