fix(git): small bug fixes

This commit is contained in:
2026-04-27 13:34:18 +02:00
parent 6e0e05ae56
commit 50697cfe98
2 changed files with 15 additions and 5 deletions
+8 -2
View File
@@ -93,11 +93,17 @@ local function run_in_split(worktree, args, conf)
vim.b[buf].git_worktree = worktree vim.b[buf].git_worktree = worktree
if conf.needs_ref then if conf.needs_ref then
local user_ref = first_positional(args, 2) or "HEAD" local user_ref = first_positional(args, 2) or "HEAD"
local sha = repo.rev_parse(worktree, user_ref, true) or user_ref local sha = repo.rev_parse(worktree, user_ref, true)
if sha then
vim.b[buf].git_ref = sha vim.b[buf].git_ref = sha
vim.b[buf].git_parent_ref = vim.b[buf].git_parent_ref =
repo.rev_parse(worktree, user_ref .. "^", true) repo.rev_parse(worktree, user_ref .. "^", true)
pcall(vim.api.nvim_buf_set_name, buf, "git://" .. sha .. "/") end
pcall(
vim.api.nvim_buf_set_name,
buf,
"git://" .. (sha or user_ref) .. "/"
)
end end
vim.bo[buf].filetype = conf.ft vim.bo[buf].filetype = conf.ft
+4
View File
@@ -311,6 +311,10 @@ local function render(bufnr, branch, groups)
}) })
end end
state[bufnr].lines = meta state[bufnr].lines = meta
-- The diff windows we last opened may now be showing content for an
-- entry whose underlying file has changed. Drop the cache so the next
-- show_diff recomputes pre/post panes instead of short-circuiting.
state[bufnr].last_shown_key = nil
end end
---@param bufnr integer ---@param bufnr integer