Skip to content

Commit c6b942e

Browse files
committed
fix: expanded state of remote branches (include remote node) is missing after checking-out/creating/renaming branch
Signed-off-by: leo <longshuang@msn.cn>
1 parent 78bcbc6 commit c6b942e

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

src/ViewModels/Repository.cs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -806,7 +806,7 @@ public void RefreshAfterCreateBranch(Models.Branch created, bool checkout)
806806
locals.Add(b);
807807
}
808808

809-
var builder = BuildBranchTree(locals, []);
809+
var builder = BuildBranchTree(locals, [], false);
810810
LocalBranchTrees = builder.Locals;
811811

812812
RefreshCommits();
@@ -841,7 +841,7 @@ public void RefreshAfterCheckoutBranch(Models.Branch checkouted)
841841
locals.Add(b);
842842
}
843843

844-
var builder = BuildBranchTree(locals, []);
844+
var builder = BuildBranchTree(locals, [], false);
845845
LocalBranchTrees = builder.Locals;
846846
CurrentBranch = checkouted;
847847

@@ -867,7 +867,7 @@ public void RefreshAfterRenameBranch(Models.Branch b, string newName)
867867
locals.Add(branch);
868868
}
869869

870-
var builder = BuildBranchTree(locals, []);
870+
var builder = BuildBranchTree(locals, [], false);
871871
LocalBranchTrees = builder.Locals;
872872

873873
RefreshCommits();
@@ -1649,16 +1649,19 @@ private LauncherPage GetOwnerPage()
16491649
return null;
16501650
}
16511651

1652-
private BranchTreeNode.Builder BuildBranchTree(List<Models.Branch> branches, List<Models.Remote> remotes)
1652+
private BranchTreeNode.Builder BuildBranchTree(List<Models.Branch> branches, List<Models.Remote> remotes, bool validateExpandedNodes = true)
16531653
{
16541654
var builder = new BranchTreeNode.Builder(_uiStates.LocalBranchSortMode, _uiStates.RemoteBranchSortMode);
16551655
if (string.IsNullOrEmpty(_filter))
16561656
{
16571657
builder.SetExpandedNodes(_uiStates.ExpandedBranchNodesInSideBar);
16581658
builder.Run(branches, remotes, false);
16591659

1660-
foreach (var invalid in builder.InvalidExpandedNodes)
1661-
_uiStates.ExpandedBranchNodesInSideBar.Remove(invalid);
1660+
if (validateExpandedNodes)
1661+
{
1662+
foreach (var invalid in builder.InvalidExpandedNodes)
1663+
_uiStates.ExpandedBranchNodesInSideBar.Remove(invalid);
1664+
}
16621665
}
16631666
else
16641667
{

0 commit comments

Comments
 (0)