From 8ba1110041581b13d4d78141e229975c2005a41d Mon Sep 17 00:00:00 2001 From: JC-Chung <52159296+JC-Chung@users.noreply.github.com> Date: Tue, 23 Jun 2026 15:44:00 +0800 Subject: [PATCH] fix: branch name in toolbar not updated immediately after renaming current branch --- src/ViewModels/Repository.cs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/ViewModels/Repository.cs b/src/ViewModels/Repository.cs index 6015a7947..96c82baeb 100644 --- a/src/ViewModels/Repository.cs +++ b/src/ViewModels/Repository.cs @@ -847,8 +847,29 @@ public void RefreshAfterRenameBranch(Models.Branch b, string newName) var newFullName = $"refs/heads/{newName}"; _uiStates.RenameBranchFilter(b.FullName, newFullName); - b.Name = newName; - b.FullName = newFullName; + var renamed = new Models.Branch + { + Name = newName, + FullName = newFullName, + CommitterDate = b.CommitterDate, + Head = b.Head, + IsLocal = b.IsLocal, + IsCurrent = b.IsCurrent, + IsDetachedHead = b.IsDetachedHead, + Upstream = b.Upstream, + Ahead = b.Ahead, + Behind = b.Behind, + Remote = b.Remote, + IsUpstreamGone = b.IsUpstreamGone, + WorktreePath = b.WorktreePath, + }; + + var idx = _branches.IndexOf(b); + if (idx >= 0) + _branches[idx] = renamed; + + if (b.IsCurrent) + CurrentBranch = renamed; List locals = []; foreach (var branch in _branches)