diff --git a/src/ViewModels/Checkout.cs b/src/ViewModels/Checkout.cs index 5a51e2d1..a96ac79a 100644 --- a/src/ViewModels/Checkout.cs +++ b/src/ViewModels/Checkout.cs @@ -62,6 +62,8 @@ namespace SourceGit.ViewModels CallUIThread(() => { + ProgressDescription = "Waiting for branch updated..."; + var b = _repo.Branches.Find(x => x.IsLocal && x.Name == Branch); if (b != null && _repo.HistoriesFilterMode == Models.FilterMode.Included) _repo.SetBranchFilterMode(b, Models.FilterMode.Included, true, false); @@ -70,6 +72,7 @@ namespace SourceGit.ViewModels _repo.SetWatcherEnabled(true); }); + Task.Delay(400).Wait(); return rs; }); } diff --git a/src/ViewModels/CreateBranch.cs b/src/ViewModels/CreateBranch.cs index d51a709d..dd190e18 100644 --- a/src/ViewModels/CreateBranch.cs +++ b/src/ViewModels/CreateBranch.cs @@ -150,6 +150,12 @@ namespace SourceGit.ViewModels _repo.SetWatcherEnabled(true); }); + if (CheckoutAfterCreated) + { + CallUIThread(() => ProgressDescription = "Waiting for branch updated..."); + Task.Delay(400).Wait(); + } + return true; }); } diff --git a/src/ViewModels/RenameBranch.cs b/src/ViewModels/RenameBranch.cs index d730c83e..22cd2688 100644 --- a/src/ViewModels/RenameBranch.cs +++ b/src/ViewModels/RenameBranch.cs @@ -58,12 +58,15 @@ namespace SourceGit.ViewModels return Task.Run(() => { + var isCurrent = Target.IsCurrent; var oldName = Target.FullName; var succ = Commands.Branch.Rename(_repo.FullPath, Target.Name, fixedName, log); log.Complete(); CallUIThread(() => { + ProgressDescription = "Waiting for branch updated..."; + if (succ) { foreach (var filter in _repo.Settings.HistoriesFilters) @@ -80,6 +83,10 @@ namespace SourceGit.ViewModels _repo.MarkBranchesDirtyManually(); _repo.SetWatcherEnabled(true); }); + + if (isCurrent) + Task.Delay(400).Wait(); + return succ; }); }