You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As the title states, Neogit is not working in Ubuntu 20.04 / Focal. Specifically:
When I run simply :Neogit, it is unable to detect that the current directory (:pwd) is within a git repository, and it prompts me, Initialize repository in <path> --path-format=absolute? (Y)es, [No]:.
When I specify a specific directory, i.e. :Neogit cwd=<dir>, it prints this error:
Error executing Lua callback: ...share/nvim/lazy/plenary.nvim/lua/plenary/async/async.lua:18: The coroutine failed with this message: ...share/nvim/lazy/plenary.nvim/lua/plenary/async/async.lua:18: The coroutine failed with this message: ...share/nvim/lazy/plenary.nvim/lua/plenary/async/async.lua:18: The coroutine failed with this message: Vim:E475: Invalid argument: expected valid directory
stack traceback:
[C]: in function 'error'
...share/nvim/lazy/plenary.nvim/lua/plenary/async/async.lua:18: in function 'callback_or_next'
...share/nvim/lazy/plenary.nvim/lua/plenary/async/async.lua:45: in function 'step'
...share/nvim/lazy/plenary.nvim/lua/plenary/async/async.lua:48: in function 'execute'
...share/nvim/lazy/plenary.nvim/lua/plenary/async/async.lua:118: in function 'dispatch_refresh'
/home/jvilla/.local/share/nvim/lazy/neogit/lua/neogit.lua:114: in function 'open_status_buffer'
/home/jvilla/.local/share/nvim/lazy/neogit/lua/neogit.lua:175: in function 'open'
...e/jvilla/.local/share/nvim/lazy/neogit/plugin/neogit.lua:5: in function <...e/jvilla/.local/share/nvim/lazy/neogit/plugin/neogit.lua:3>
Press ENTER or type command to continue
I have already posted an issue with plenary.nvim, and the maintainer determined that it is not a plenary bug, so I'm wondering now if there's something wrong that Neogit is doing.
Please let me know any additional debug steps I can take. Thanks in advance!!
(I realize that Ubuntu 20.04 is almost EOL for general support, but my company will still be using it for the foreseeable future, so I would love to figure this out so I can keep enjoying Neogit like I do on my other machines 😄)
Initialize new git repo, open neovim with minimal config, with pwd inside the repo
mkdir /tmp/foobar
cd /tmp/foobar
git init
nvim -nu /tmp/minimal.lua
Once in neovim, run command: :Neogit
Observe error:
:Neogit
Initialize repository in /tmp/foobar
--path-format=absolute?
(Y)es, [N]o:
Expected behavior
Expected the "main" Neogit screen to open
Actual behavior
Prompted to initialize a new git repository in pwd:
Initialize repository in /tmp/foobar
--path-format=absolute?
(Y)es, [N]o:
Selecting [N]o returns the error The current working directory is not a git repository;
Selecting (Y)es prints the following error:
Error executing Lua callback: /tmp/.min/plugins/plenary/lua/plenary/async/async.lua:18: The coroutine failed with this message: /tmp/.min/plugins/plenary/lua/plenary/async/async.lua:18: The coroutine failed with this message: Vim:E475: Invalid argument: expected valid directory
stack traceback:
[C]: in function 'error'
/tmp/.min/plugins/plenary/lua/plenary/async/async.lua:18: in function 'callback_or_next'
/tmp/.min/plugins/plenary/lua/plenary/async/async.lua:45: in function 'step'
/tmp/.min/plugins/plenary/lua/plenary/async/async.lua:48: in function 'execute'
/tmp/.min/plugins/plenary/lua/plenary/async/async.lua:118: in function 'dispatch_refresh'
/tmp/.min/plugins/neogit/lua/neogit/lib/git/repository.lua:200: in function '__index'
/tmp/.min/plugins/neogit/lua/neogit/lib/git/cli.lua:1184: in function 'to_process'
/tmp/.min/plugins/neogit/lua/neogit/lib/git/cli.lua:1242: in function 'call'
/tmp/.min/plugins/neogit/lua/neogit/lib/git/init.lua:9: in function 'create'
/tmp/.min/plugins/neogit/lua/neogit.lua:158: in function 'open'
/tmp/.min/plugins/neogit/plugin/neogit.lua:5: in function </tmp/.min/plugins/neogit/plugin/neogit.lua:3>
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.localM= {}
localbase_root_path=vim.fn.fnamemodify(debug.getinfo(1, "S").source:sub(2), ":p:h") .."/.min"functionM.root(path)
returnbase_root_path.."/" .. (pathor"")
endfunctionM.load_plugin(plugin_name, plugin_url)
localpackage_root=M.root("plugins/")
localinstall_destination=package_root..plugin_namevim.opt.runtimepath:append(install_destination)
ifnotvim.loop.fs_stat(package_root) thenvim.fn.mkdir(package_root, "p")
endifnotvim.loop.fs_stat(install_destination) thenprint(string.format("> Downloading plugin '%s' to '%s'", plugin_name, install_destination))
vim.fn.system({
"git",
"clone",
"--depth=1",
plugin_url,
install_destination,
})
ifvim.v.shell_error>0thenerror(string.format("> Failed to clone plugin: '%s' in '%s'!", plugin_name, install_destination),
vim.log.levels.ERROR)
endendend---@aliasPluginNamestring The plugin name, will be used as part of the git clone destination---@aliasPluginUrlstring 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---@aliasMinPluginstable<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.---@paramplugins?table<PluginName, PluginUrl>functionM.setup(plugins)
vim.opt.packpath= {} -- Empty the package path so we use only the plugins specifiedvim.opt.runtimepath:append(M.root(".min")) -- Ensure the runtime detects the root min dir-- Install required pluginsifplugins~=nilthenforplugin_name, plugin_urlinpairs(plugins) doM.load_plugin(plugin_name, plugin_url)
endendvim.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. shadavim.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
The text was updated successfully, but these errors were encountered:
Description
As the title states, Neogit is not working in Ubuntu 20.04 / Focal. Specifically:
:Neogit
, it is unable to detect that the current directory (:pwd
) is within a git repository, and it prompts me,Initialize repository in <path> --path-format=absolute? (Y)es, [No]:
.:Neogit cwd=<dir>
, it prints this error:I have already posted an issue with plenary.nvim, and the maintainer determined that it is not a plenary bug, so I'm wondering now if there's something wrong that Neogit is doing.
Please let me know any additional debug steps I can take. Thanks in advance!!
(I realize that Ubuntu 20.04 is almost EOL for general support, but my company will still be using it for the foreseeable future, so I would love to figure this out so I can keep enjoying Neogit like I do on my other machines 😄)
Neovim version
NVIM v0.10.3
Build type: Release
LuaJIT 2.1.1713484068
Operating system and version
Ubuntu 20.04
Steps to reproduce
pwd
inside the repo:Neogit
Expected behavior
Expected the "main" Neogit screen to open
Actual behavior
Prompted to initialize a new git repository in
pwd
:Selecting
[N]o
returns the errorThe current working directory is not a git repository
;Selecting
(Y)es
prints the following error:Minimal config
The text was updated successfully, but these errors were encountered: