NeogitOrg / neogit

An interactive and powerful Git interface for Neovim, inspired by Magit
MIT License
3.63k stars 218 forks source link

Error when committing #1342

Open nipunlakshank opened 1 month ago

nipunlakshank commented 1 month ago

Description

I just installed neogit and I can't seem to get the commit functionality working. I tried tweaking ~/.local/share/nvim/lazy/neogit/lua/neogit/client.lua which is the file throwing the error But every time a different error is thrown

Neovim version

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

Operating system and version

macOS Sonoma 14.5

Steps to reproduce

  1. nvim -nu minimal.lua
  2. :Neogit
  3. press cc

Expected behavior

Open a buffer to edit commit message

Actual behavior

Instead it gives below error And that only pops up for once for a neovim session, after that nothing happens

Screenshot 2024-05-30 at 09 45 18

Minimal config

-- NOTE: See the end of this file if you are reporting an issue, etc. Ignore all the "scary" functions up top, those are
-- used for setup and other operations.
local M = {}

local base_root_path = vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h") .. "/.min"
function M.root(path)
  return base_root_path .. "/" .. (path or "")
end

function M.load_plugin(plugin_name, plugin_url)
  local package_root = M.root("plugins/")
  local install_destination = package_root .. plugin_name
  vim.opt.runtimepath:append(install_destination)

  if not vim.loop.fs_stat(package_root) then
    vim.fn.mkdir(package_root, "p")
  end

  if not vim.loop.fs_stat(install_destination) then
    print(string.format("> Downloading plugin '%s' to '%s'", plugin_name, install_destination))
    vim.fn.system({
      "git",
      "clone",
      "--depth=1",
      plugin_url,
      install_destination,
    })
    if vim.v.shell_error > 0 then
      error(string.format("> Failed to clone plugin: '%s' in '%s'!", plugin_name, install_destination),
        vim.log.levels.ERROR)
    end
  end
end

---@alias PluginName string The plugin name, will be used as part of the git clone destination
---@alias PluginUrl string The git url at which a plugin is located, can be a path. See https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols for details
---@alias MinPlugins table<PluginName, PluginUrl>

---Do the initial setup. Downloads plugins, ensures the minimal init does not pollute the filesystem by keeping
---everything self contained to the CWD of the minimal init file. Run prior to running tests, reproducing issues, etc.
---@param plugins? table<PluginName, PluginUrl>
function M.setup(plugins)
  vim.opt.packpath = {}                      -- Empty the package path so we use only the plugins specified
  vim.opt.runtimepath:append(M.root(".min")) -- Ensure the runtime detects the root min dir

  -- Install required plugins
  if plugins ~= nil then
    for plugin_name, plugin_url in pairs(plugins) do
      M.load_plugin(plugin_name, plugin_url)
    end
  end

  vim.env.XDG_CONFIG_HOME = M.root("xdg/config")
  vim.env.XDG_DATA_HOME = M.root("xdg/data")
  vim.env.XDG_STATE_HOME = M.root("xdg/state")
  vim.env.XDG_CACHE_HOME = M.root("xdg/cache")

  -- NOTE: Cleanup the xdg cache on exit so new runs of the minimal init doesn't share any previous state, e.g. shada
  vim.api.nvim_create_autocmd("VimLeave", {
    callback = function()
      vim.fn.system({
        "rm",
        "-r",
        "-f",
        M.root("xdg")
      })
    end
  })
end

-- NOTE: If you have additional plugins you need to install to reproduce your issue, include them in the plugins
-- table within the setup call below.
M.setup({
  plenary = "https://github.com/nvim-lua/plenary.nvim.git",
  telescope = "https://github.com/nvim-telescope/telescope.nvim",
  diffview = "https://github.com/sindrets/diffview.nvim",
  neogit = "https://github.com/NeogitOrg/neogit"
})
-- WARN: Do all plugin setup, test runs, reproductions, etc. AFTER calling setup with a list of plugins!
-- Basically, do all that stuff AFTER this line.
require("neogit").setup({}) -- For instance, setup Neogit
floork commented 1 month ago

I have the same type of error

My Error ```lua > git --no-pager --literal-pathspecs --no-optional-locks -c core.preloadindex=true -c color.ui=always commit hint: Waiting for your editor to close the file... Error detected while processing command line: E5108: Error executing lua Vim(lua):E5108: Error executing lua .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:446: Error executing lua: .../ .local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:266: Cannot split a floating window stack traceback: [C]: in function 'nvim_open_win' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:266: in function 'show' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:557: in function 'create' .../share/nvim/lazy/neogit/lua/neogit/buffers/diff/init.lua:54: in function 'open' ...hare/nvim/lazy/neogit/lua/neogit/buffers/editor/init.lua:196: in function 'after' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:662: in function 'f' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:447: in function <.../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:446> [C]: in function 'nvim_buf_call' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:446: in function 'call' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:661: in function 'create' ...hare/nvim/lazy/neogit/lua/neogit/buffers/editor/init.lua:76: in function 'open' ...oork/.local/share/nvim/lazy/neogit/lua/neogit/client.lua:122: in function 'editor' [string ":lua"]:1: in main chunk stack traceback: [C]: in function 'nvim_buf_call' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:446: in function 'call' .../.local/share/nvim/lazy/neogit/lua/neogit/lib/buffer.lua:661: in function 'create' ...hare/nvim/lazy/neogit/lua/neogit/buffers/editor/init.lua:76: in function 'open' ...oork/.local/share/nvim/lazy/neogit/lua/neogit/client.lua:122: in function 'editor' [string ":lua"]:1: in main chunk stack traceback: [C]: in function 'rpcrequest' ...ork/.local/share/nvim/lazy/neogit/lua/neogit/lib/rpc.lua:37: in function 'send_cmd' ...oork/.local/share/nvim/lazy/neogit/lua/neogit/client.lua:75: in function 'client' ```

with this config on Linux Nixos

Config ```lua { "NeogitOrg/neogit", dependencies = { "nvim-lua/plenary.nvim", "sindrets/diffview.nvim", "nvim-telescope/telescope.nvim", "ibhagwan/fzf-lua", }, config = function() local neogit = require("neogit") neogit.setup({ integrations = { diffview = true, telescope = true, }, disable_prompt_on_change = true, kind = "floating", commit_editor = { kind = "floating", }, commit_select_view = { kind = "floating", }, commit_view = { kind = "floating", }, log_view = { kind = "floating", }, rebase_editor = { kind = "floating", }, reflog_view = { kind = "floating", }, merge_editor = { kind = "floating", }, tag_editor = { kind = "floating", }, preview_buffer = { kind = "floating", }, popup = { kind = "floating", }, }) -- keymap local keymap = vim.keymap local opts = { noremap = true, silent = true } opts.desc = "Neogit" keymap.set("n", "gs", "Neogit", opts) opts.desc = "Neogit log" keymap.set("n", "gl", "Neogit log", opts) opts.desc = "Neogit push" keymap.set("n", "gp", "Neogit push", opts) opts.desc = "Neogit pull" keymap.set("n", "gP", "Neogit pull", opts) end, } ```

On the latest commit (9da48298a1c1e1ea52b4b9b9a4c2c4ded6ac422a)