Tracked file still shown as untracked after git.reload()
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- git, lua, neovim
- Bereich
- developer-experience, tooling
Rechercherichtung
Reproduce the bug by disabling filesystem_watchers, opening a temporary repository, and running require("nvim-tree.api").git.reload() after committing an untracked file. Start with the Git reload path in nvim-tree.api and the status-metadata update logic, then compare it with the full tree refresh path. Done means the tracked marker disappears after git.reload() with watchers disabled and a regression test covers that configuration.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
With disabled filesystem_watchers, running :lua require("nvim-tree.api").git.reload() does not update the tracked status of untracked/tracked files.
Neovim version
NVIM v0.12.6
Build type: Release
LuaJIT 2.1.1791988261
Operating system and version
macOS 15.7.9
Windows variant
No response
nvim-tree version
355bcc8
Clean room replication
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.cmd([[set runtimepath=$VIMRUNTIME]])
vim.cmd([[set packpath=/tmp/nvt-min/site]])
local package_root = "/tmp/nvt-min/site/pack"
local install_path = package_root .. "/packer/start/packer.nvim"
local function load_plugins()
require("packer").startup({
{
"wbthomason/packer.nvim",
"nvim-tree/nvim-tree.lua",
"nvim-tree/nvim-web-devicons",
-- ADD PLUGINS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
},
config = {
package_root = package_root,
compile_path = install_path .. "/plugin/packer_compiled.lua",
display = { non_interactive = true },
},
})
end
if vim.fn.isdirectory(install_path) == 0 then
print("Installing nvim-tree and dependencies.")
vim.fn.system({ "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path })
end
load_plugins()
require("packer").sync()
vim.cmd([[autocmd User PackerComplete ++once echo "Ready!" | lua setup()]])
vim.opt.termguicolors = true
vim.opt.cursorline = true
-- MODIFY NVIM-TREE SETTINGS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
_G.setup = function()
require("nvim-tree").setup({
filesystem_watchers = {
enable = false,
},
})
end
-- UNCOMMENT this block for diagnostics issues, substituting pattern and cmd as appropriate.
-- Requires diagnostics.enable = true in setup.
--[[
vim.api.nvim_create_autocmd("FileType", {
pattern = "lua",
callback = function()
vim.lsp.start {
name = "my-luals",
cmd = { "lua-language-server" },
root_dir = vim.loop.cwd(),
}
end,
})
]]
Steps to reproduce
- Create a temporary repo
mkdir /tmp/repro && cd /tmp/repro && git init .
- Create an untracked file
touch example.txt
- Start nvim
nvim -nu /tmp/nvt-min.lua
- Open the neovim tree with
:NvimTreeOpen. Note the star near 'example.txt'. - Track the file in another terminal
cd /tmp/repro && git add example.txt && git commit -m "Track example.txt"
- Request Git refresh in neovim:
:lua require("nvim-tree.api").git.reload()
Expected behavior
The star near example.txt disappears.
Actual behavior
The star near example.txt does not disappear.
Additional info
Pressing R for full tree refresh removes the star.
- Vorherrschende Sprache
- Lua
- Sterne
- 8.7k
- Forks
- 642
- Ø Merge
- 2 T. 4 Std.
- Gemergte PRs (30 T.)
- 5
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nvim-tree/nvim-tree.lua
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
nvim-tree/nvim-tree.lua#3362 · 1 Kommentar ·
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
nvim-tree/nvim-tree.lua#3361 ·
-
Use vim.Option getters and setters instead of directly settingEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
nvim-tree/nvim-tree.lua#3357 · 1 Kommentar ·
-
Migrate To vim.packOffendocumentation PR please
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 65/100
nvim-tree/nvim-tree.lua#3179 · 6 Kommentare ·
-
bug PR please reproduced
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 68/100
nvim-tree/nvim-tree.lua#3368 · 3 Kommentare ·
Alle Issues in nvim-tree/nvim-tree.lua
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
scp-fs2open/fs2open.github.com#7946 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
orbitalquark/scintillua#223 ·
-
bug code-annotation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
quarto-dev/quarto-cli#15215 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
CopilotC-Nvim/CopilotChat.nvim#1588 · 3 Kommentare ·
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
avante-corp/avante.nvim#3339 ·
Maintainer antworten meist innerhalb von 1 Tag