Skip to content

Commit 6fe7dfa

Browse files
committed
enhance: update filters after a filtered branch renamed (#536)
1 parent 4e57cd5 commit 6fe7dfa

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

src/ViewModels/RenameBranch.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ public class RenameBranch : Popup
88
public Models.Branch Target
99
{
1010
get;
11-
private set;
1211
}
1312

1413
[Required(ErrorMessage = "Branch name is required!!!")]
@@ -54,8 +53,19 @@ public override Task<bool> Sure()
5453

5554
return Task.Run(() =>
5655
{
56+
var oldName = Target.FullName;
5757
var succ = Commands.Branch.Rename(_repo.FullPath, Target.Name, _name);
58-
CallUIThread(() => _repo.SetWatcherEnabled(true));
58+
CallUIThread(() =>
59+
{
60+
if (succ && _repo.Settings.Filters.Contains(oldName))
61+
{
62+
_repo.Settings.Filters.Remove(oldName);
63+
_repo.Settings.Filters.Add($"refs/heads/{_name}");
64+
}
65+
66+
_repo.MarkBranchesDirtyManually();
67+
_repo.SetWatcherEnabled(true);
68+
});
5969
return succ;
6070
});
6171
}

src/ViewModels/Repository.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -841,7 +841,7 @@ public void RefreshCommits()
841841

842842
if (_settings.Filters.Count != validFilters.Count)
843843
{
844-
Dispatcher.UIThread.Post(() =>
844+
Dispatcher.UIThread.Invoke(() =>
845845
{
846846
_settings.Filters.Clear();
847847
_settings.Filters.AddRange(validFilters);
@@ -850,6 +850,9 @@ public void RefreshCommits()
850850
}
851851
else
852852
{
853+
if (_settings.Filters.Count != 0)
854+
Dispatcher.UIThread.Invoke(() => _settings.Filters.Clear());
855+
853856
limits += "--exclude=refs/stash --all";
854857
}
855858

0 commit comments

Comments
 (0)