From fa3920282da007f0ea7ce37873ccb3c1db0af0ec Mon Sep 17 00:00:00 2001 From: Evgeni Chasnovski Date: Mon, 8 Sep 2025 00:42:09 +0300 Subject: fix(pack): handle Git environment variables #35626 Problem: Some environment variables which are useful when working inside a bare repository can affect any Git operation. Solution: Explicitly unset problematic environment variables. --- runtime/lua/vim/pack.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'runtime/lua/vim/pack.lua') diff --git a/runtime/lua/vim/pack.lua b/runtime/lua/vim/pack.lua index de3a64c325..2962c994f7 100644 --- a/runtime/lua/vim/pack.lua +++ b/runtime/lua/vim/pack.lua @@ -107,7 +107,9 @@ local M = {} local function git_cmd(cmd, cwd) -- Use '-c gc.auto=0' to disable `stderr` "Auto packing..." messages cmd = vim.list_extend({ 'git', '-c', 'gc.auto=0' }, cmd) - local sys_opts = { cwd = cwd, text = true, clear_env = true } + local env = vim.fn.environ() --- @type table + env.GIT_DIR, env.GIT_WORK_TREE = nil, nil + local sys_opts = { cwd = cwd, text = true, env = env, clear_env = true } local out = async.await(3, vim.system, cmd, sys_opts) --- @type vim.SystemCompleted async.await(1, vim.schedule) if out.code ~= 0 then -- cgit