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,30 +182,29 @@ namespace SourceGit.ViewModels
RemoteBranches = branches;
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)
if (_current.Upstream == branch.FullName)
{
if (_current.Upstream == branch.FullName)
{
SelectedBranch = branch;
autoSelectedBranch = true;
break;
}
SelectedBranch = branch;
autoSelectedBranch = true;
break;
}
}
else
}
if (!autoSelectedBranch)
{
foreach (var branch in branches)
{
foreach (var branch in branches)
if (_current.Name == branch.Name)
{
if (_current.Name == branch.Name)
{
SelectedBranch = branch;
autoSelectedBranch = true;
break;
}
SelectedBranch = branch;
autoSelectedBranch = true;
break;
}
}
}