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
switch back to the working branch & attempt to rebase onto main
Expected behavior
The rebase windows and popups should save and close properly after the git operation completes
Actual behavior
Often vim will freeze and the git status buffer will remain open after a git operation. Error logs:
nvim_del_augroup_by_id'
...ram/.config/nvim/bundle/neogit/lua/neogit/lib/buffer.lua:666: in function <...ram/.config/nvim/bundle/neogit
/lua/neogit/lib/buffer.lua:664>
Error executing lua callback: ...ram/.config/nvim/bundle/neogit/lua/neogit/lib/buffer.lua:666: Vim:E367: No such group:
"--Deleted--"
stack traceback:
[C]: in function 'nvim_del_augroup_by_id'
...ram/.config/nvim/bundle/neogit/lua/neogit/lib/buffer.lua:666: in function <...ram/.config/nvim/bundle/neogit
/lua/neogit/lib/buffer.lua:664>
Error executing lua callback: ...ram/.config/nvim/bundle/neogit/lua/neogit/lib/buffer.lua:666: Vim:E367: No such group:
"--Deleted--"
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 Neogitlocalneogit=require('neogit')
neogit.setup {
-- Hides the hints at the top of the status bufferdisable_hint=false,
-- Disables changing the buffer highlights based on where the cursor is.disable_context_highlighting=true,
-- Disables signs for sections/items/hunksdisable_signs=false,
-- Do not ask to confirm the commit - just do it when the buffer is closed.disable_commit_confirmation=false,
-- Uses `vim.notify` instead of the built-in notification system.disable_builtin_notifications=false,
-- Changes what mode the Commit Editor starts in. `true` will leave nvim in normal mode, `false` will change nvim to insert mode, and `"auto"` will change nvim to insert mode IF the commit message is empty, otherwise leaving it in normal mode.-- When enabled, will watch the `.git/` directory for changes and refresh the status buffer in response to filesystem-- events.disable_insert_on_commit=true,
filewatcher= {
interval=1000,
enabled=true,
},
-- Used to generate URL's for branch popup action "pull request".git_services= {
["github.com"] ="https://github.com/${owner}/${repository}/compare/${branch_name}?expand=1",
["bitbucket.org"] ="https://bitbucket.org/${owner}/${repository}/pull-requests/new?source=${branch_name}&t=1",
["gitlab.com"] ="https://gitlab.com/${owner}/${repository}/merge_requests/new?merge_request[source_branch]=${branch_name}",
},
-- Allows a different telescope sorter. Defaults to 'fuzzy_with_index_bias'. The example below will use the native fzf-- sorter instead. By default, this function returns `nil`.telescope_sorter=function()
returnrequire("telescope").extensions.fzf.native_fzf_sorter()
end,
-- Persist the values of switches/options within and across sessionsremember_settings=true,
-- Scope persisted settings on a per-project basisuse_per_project_settings=true,
-- Table of settings to never persist. Uses format "Filetype--cli-value"ignored_settings= {
"NeogitPushPopup--force-with-lease",
"NeogitPushPopup--force",
"NeogitPullPopup--rebase",
"NeogitCommitPopup--allow-empty",
"NeogitRevertPopup--no-edit",
},
-- Neogit refreshes its internal state after specific events, which can be expensive depending on the repository size.-- Disabling `auto_refresh` will make it so you have to manually refresh the status after you open it.auto_refresh=true,
-- Value used for `--sort` option for `git branch` command-- By default, branches will be sorted by commit date descending-- Flag description: https://git-scm.com/docs/git-branch#Documentation/git-branch.txt---sortltkeygt-- Sorting keys: https://git-scm.com/docs/git-for-each-ref#_optionssort_branches="-committerdate",
-- Change the default way of opening neogitkind="tab",
-- The time after which an output console is shown for slow running commandsconsole_timeout=2000,
-- Automatically show console if a command takes more than console_timeout millisecondsauto_show_console=true,
status= {
recent_commit_count=10,
recent_commit_include_author_info=true,
},
commit_editor= {
kind="split",
},
commit_select_view= {
kind="tab",
},
commit_view= {
kind="vsplit",
},
log_view= {
kind="tab",
},
rebase_editor= {
kind="split",
},
reflog_view= {
kind="tab",
},
merge_editor= {
kind="split",
},
preview_buffer= {
kind="split",
},
popup= {
kind="split",
},
signs= {
-- { CLOSED, OPENED }hunk= { "", "" },
item= { "", "" },
section= { "", "" },
},
-- Each Integration is auto-detected through plugin presence, however, it can be disabled by setting to `false`integrations= {
-- If enabled, use telescope for menu selection rather than vim.ui.select.-- Allows multi-select and some things that vim.ui.select doesn't.telescope=nil,
-- Neogit only provides inline diffs. If you want a more traditional way to look at diffs, you can use `diffview`.-- The diffview integration enables the diff popup.---- Requires you to have `sindrets/diffview.nvim` installed.diffview=nil,
},
sections= {
-- Reverting/Cherry Pickingsequencer= {
folded=false,
hidden=false,
},
untracked= {
folded=false,
hidden=false,
},
unstaged= {
folded=false,
hidden=false,
},
staged= {
folded=false,
hidden=false,
},
stashes= {
folded=true,
hidden=false,
},
unpulled_upstream= {
folded=true,
hidden=false,
},
unmerged_upstream= {
folded=false,
hidden=false,
},
unpulled_pushRemote= {
folded=true,
hidden=false,
},
unmerged_pushRemote= {
folded=false,
hidden=false,
},
recent= {
folded=true,
hidden=false,
},
rebase= {
folded=true,
hidden=false,
},
},
mappings= {
finder= {
["<cr>"] ="Select",
["<c-c>"] ="Close",
["<esc>"] ="Close",
["<c-n>"] ="Next",
["<c-p>"] ="Previous",
["<down>"] ="Next",
["<up>"] ="Previous",
["<tab>"] ="MultiselectToggleNext",
["<s-tab>"] ="MultiselectTogglePrevious",
["<c-j>"] ="NOP",
},
popup= {
["?"] ="HelpPopup",
["A"] ="CherryPickPopup",
["D"] ="DiffPopup",
["M"] ="RemotePopup",
["p"] ="PushPopup",
["X"] ="ResetPopup",
["Z"] ="StashPopup",
["b"] ="BranchPopup",
["c"] ="CommitPopup",
["f"] ="FetchPopup",
["l"] ="LogPopup",
["m"] ="MergePopup",
["F"] ="PullPopup",
["r"] ="RebasePopup",
["v"] ="RevertPopup",
},
status= {
["q"] ="Close",
["I"] ="InitRepo",
["1"] ="Depth1",
["2"] ="Depth2",
["3"] ="Depth3",
["4"] ="Depth4",
["<tab>"] ="Toggle",
["x"] ="Discard",
["s"] ="Stage",
["S"] ="StageUnstaged",
["<c-s>"] ="StageAll",
["u"] ="Unstage",
["U"] ="UnstageStaged",
["d"] ="DiffAtFile",
["$"] ="CommandHistory",
["#"] ="Console",
["<c-r>"] ="RefreshBuffer",
["<enter>"] ="GoToFile",
["<c-v>"] ="VSplitOpen",
["<c-x>"] ="SplitOpen",
["<c-t>"] ="TabOpen",
["{"] ="GoToPreviousHunkHeader",
["}"] ="GoToNextHunkHeader",
},
},
}
The text was updated successfully, but these errors were encountered:
that gets called when inside of a git session and that seems to work. However it still sometimes wigs out when there is no card found. The git command hangs indefinitely inside of neovim
Description
Git operation intermittent freezing nvim status windows
Neovim version
[bagnaram@fedora]~% nvim --version
NVIM v0.10.1
Build type: RelWithDebInfo
LuaJIT 2.1.1720049189
Operating system and version
Linux fedora 6.10.3-200.fc40.x86_64
Steps to reproduce
Expected behavior
The rebase windows and popups should save and close properly after the git operation completes
Actual behavior
Often vim will freeze and the git status buffer will remain open after a git operation. Error logs:
Minimal config
The text was updated successfully, but these errors were encountered: