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
Whenever a call to open a specific popup is made, for example the logs popup, the first time it is invoked, it works fine, however if we change the cwd to antoher (valid git directory) and try to invoke the logs popup neogit throws an error.
Neovim version
0.9.4
Operating system and version
Ubuntu 22
Steps to reproduce
open file from one git repo
set lcd/tcd to the current git repo
lua require("neogit").open({ "log" })
log is displayed fine for the correct repo
open file from another git repo in another tag
set lcd/tcd for the current repo.
lua require("neogit").open({ "log" })
neogit fails with errors
Expected behavior
Popups, similarly to status, should be openable for different git repositories based on the current working directory, ideally should be able to specify the cwd explicitly, just as we do with status.
Actual behavior
Error is thrown
.../packages/start/plenary.nvim/lua/plenary/async/async.lua:18: The coroutine failed with this message: ...site/pack/pac
kages/opt/neogit/lua/neogit/lib/git/log.lua:208: No commit found for oid: 51eb96f027d598549b1c241058b9b8a70d38b445
stack traceback:
^I[C]: in function 'error'
^I.../packages/start/plenary.nvim/lua/plenary/async/async.lua:18: in function 'callback_or_next'
^I.../packages/start/plenary.nvim/lua/plenary/async/async.lua:45: in function 'cb'
^I...vim/site/pack/packages/opt/neogit/lua/neogit/process.lua:359: in function <...vim/site/pack/packages/opt/neogit/lua
/neogit/process.lua:325>
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
Whenever a call to open a specific popup is made, for example the logs popup, the first time it is invoked, it works fine, however if we change the cwd to antoher (valid git directory) and try to invoke the logs popup neogit throws an error.
Neovim version
0.9.4
Operating system and version
Ubuntu 22
Steps to reproduce
Expected behavior
Popups, similarly to status, should be openable for different git repositories based on the current working directory, ideally should be able to specify the cwd explicitly, just as we do with status.
Actual behavior
Error is thrown
Minimal config
The text was updated successfully, but these errors were encountered: