Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Git status not updated if the tree root is a repo subdirectory

Ouverte
#3,368 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
68/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
git, lua, neovim
Domaine
devtools

Piste de recherche

Start by tracing how nvim-tree determines the Git repository root and refreshes its status cache when the tree root is a subdirectory. Reproduce with the provided steps: open the tree from a repository subdirectory, run git add example.txt externally, and check whether the star disappears. Done means the status refresh works from a subdirectory as it does from the repository root.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bug PR please reproduced
Description

If I open nvim in a repo subdir, and open nvim-tree, it does not update its git status cache. In particular, untracked files stay untracked even if I track them in another terminal or nvim itself.

This is observed only if the nvim-tree is opened with a subdir as its root. If I open it in the repo root, the git status gets updated.

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({
  })
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
  1. Create a repo with a subdir: mkdir -p /tmp/repro/subdir && git -C /tmp/repro init
  2. cd /tmp/repro/subdir && touch example.txt && nvim -nu /tmp/nvt-min.lua
  3. :NvimTreeOpen - note the star near example.txt
  4. :!git add example.txt
Expected behavior

The star near example.txt disappears

Actual behavior

The star near example.txt does not disappear

Langage dominant
Lua
Étoiles
8.7k
Forks
642
Merge moyen
17 h 10 min
PR mergées (30 j)
5

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de nvim-tree/nvim-tree.lua

Toutes les issues de nvim-tree/nvim-tree.lua

Issues similaires

Plus d'issues Lua

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.