refactor: rewrite branch auto-select after remote changed while pulling (#342)

This commit is contained in:
leo 2024-08-09 14:08:25 +08:00
parent f98423b4c7
commit 3a54471ea5
No known key found for this signature in database

View file

@ -182,9 +182,8 @@ namespace SourceGit.ViewModels
RemoteBranches = branches; RemoteBranches = branches;
var autoSelectedBranch = false; var autoSelectedBranch = false;
if (!string.IsNullOrEmpty(_current.Upstream)) if (!string.IsNullOrEmpty(_current.Upstream) &&
{ _current.Upstream.StartsWith($"refs/remotes/{remoteName}/", System.StringComparison.Ordinal))
if (_current.Upstream.StartsWith($"refs/remotes/{remoteName}/", System.StringComparison.Ordinal))
{ {
foreach (var branch in branches) foreach (var branch in branches)
{ {
@ -196,7 +195,8 @@ namespace SourceGit.ViewModels
} }
} }
} }
else
if (!autoSelectedBranch)
{ {
foreach (var branch in branches) foreach (var branch in branches)
{ {
@ -208,7 +208,6 @@ namespace SourceGit.ViewModels
} }
} }
} }
}
if (!autoSelectedBranch) if (!autoSelectedBranch)
SelectedBranch = branches.Count > 0 ? branches[0] : null; SelectedBranch = branches.Count > 0 ? branches[0] : null;