diff --git a/src/ViewModels/CherryPick.cs b/src/ViewModels/CherryPick.cs index bcbd14e6..d5238bb3 100644 --- a/src/ViewModels/CherryPick.cs +++ b/src/ViewModels/CherryPick.cs @@ -66,6 +66,7 @@ namespace SourceGit.ViewModels public override Task Sure() { _repo.SetWatcherEnabled(false); + _repo.ClearCommitMessage(); ProgressDescription = $"Cherry-Pick commit(s) ..."; var log = _repo.CreateLog("Cherry-Pick"); diff --git a/src/ViewModels/Fetch.cs b/src/ViewModels/Fetch.cs index b85b2b53..2fa4dae2 100644 --- a/src/ViewModels/Fetch.cs +++ b/src/ViewModels/Fetch.cs @@ -88,7 +88,7 @@ namespace SourceGit.ViewModels CallUIThread(() => { if (!string.IsNullOrEmpty(upstreamHead)) - _repo.NavigateToCommitDelayed(upstreamHead); + _repo.NavigateToCommit(upstreamHead, true); _repo.MarkFetched(); _repo.SetWatcherEnabled(true); diff --git a/src/ViewModels/FetchInto.cs b/src/ViewModels/FetchInto.cs index 730c08b6..c681b637 100644 --- a/src/ViewModels/FetchInto.cs +++ b/src/ViewModels/FetchInto.cs @@ -37,7 +37,7 @@ namespace SourceGit.ViewModels var changedLocalBranchHead = new Commands.QueryRevisionByRefName(_repo.FullPath, Local.Name).Result(); CallUIThread(() => { - _repo.NavigateToCommitDelayed(changedLocalBranchHead); + _repo.NavigateToCommit(changedLocalBranchHead, true); _repo.SetWatcherEnabled(true); }); diff --git a/src/ViewModels/Merge.cs b/src/ViewModels/Merge.cs index 2e276708..eb54418c 100644 --- a/src/ViewModels/Merge.cs +++ b/src/ViewModels/Merge.cs @@ -54,6 +54,7 @@ namespace SourceGit.ViewModels public override Task Sure() { _repo.SetWatcherEnabled(false); + _repo.ClearCommitMessage(); ProgressDescription = $"Merging '{_sourceName}' into '{Into}' ..."; var log = _repo.CreateLog($"Merging '{_sourceName}' into '{Into}'"); @@ -67,7 +68,7 @@ namespace SourceGit.ViewModels var head = new Commands.QueryRevisionByRefName(_repo.FullPath, "HEAD").Result(); CallUIThread(() => { - _repo.NavigateToCommitDelayed(head); + _repo.NavigateToCommit(head, true); _repo.SetWatcherEnabled(true); }); return true; diff --git a/src/ViewModels/MergeMultiple.cs b/src/ViewModels/MergeMultiple.cs index 4522fb64..aaa21cce 100644 --- a/src/ViewModels/MergeMultiple.cs +++ b/src/ViewModels/MergeMultiple.cs @@ -41,6 +41,7 @@ namespace SourceGit.ViewModels public override Task Sure() { _repo.SetWatcherEnabled(false); + _repo.ClearCommitMessage(); ProgressDescription = "Merge head(s) ..."; var log = _repo.CreateLog("Merge Multiple Heads"); @@ -48,7 +49,7 @@ namespace SourceGit.ViewModels return Task.Run(() => { - var succ = new Commands.Merge( + new Commands.Merge( _repo.FullPath, ConvertTargetToMergeSources(), AutoCommit, @@ -56,7 +57,7 @@ namespace SourceGit.ViewModels log.Complete(); CallUIThread(() => _repo.SetWatcherEnabled(true)); - return succ; + return true; }); } diff --git a/src/ViewModels/Pull.cs b/src/ViewModels/Pull.cs index 1b53949b..1a6f2e01 100644 --- a/src/ViewModels/Pull.cs +++ b/src/ViewModels/Pull.cs @@ -167,7 +167,7 @@ namespace SourceGit.ViewModels var head = new Commands.QueryRevisionByRefName(_repo.FullPath, "HEAD").Result(); CallUIThread(() => { - _repo.NavigateToCommitDelayed(head); + _repo.NavigateToCommit(head, true); _repo.SetWatcherEnabled(true); }); diff --git a/src/ViewModels/Rebase.cs b/src/ViewModels/Rebase.cs index ece92013..0fc8ec89 100644 --- a/src/ViewModels/Rebase.cs +++ b/src/ViewModels/Rebase.cs @@ -43,6 +43,7 @@ namespace SourceGit.ViewModels public override Task Sure() { _repo.SetWatcherEnabled(false); + _repo.ClearCommitMessage(); ProgressDescription = "Rebasing ..."; var log = _repo.CreateLog("Rebase"); diff --git a/src/ViewModels/Repository.cs b/src/ViewModels/Repository.cs index c4725ac6..742d3634 100644 --- a/src/ViewModels/Repository.cs +++ b/src/ViewModels/Repository.cs @@ -925,24 +925,23 @@ namespace SourceGit.ViewModels _lastFetchTime = DateTime.Now; } - public void NavigateToCommit(string sha) + public void NavigateToCommit(string sha, bool isDelayMode = false) { - if (_histories != null) + if (isDelayMode) + { + _navigateToCommitDelayed = sha; + } + else if (_histories != null) { SelectedViewIndex = 0; _histories.NavigateTo(sha); } } - public void NavigateToCommitDelayed(string sha) + public void ClearCommitMessage() { - _navigateToCommitDelayed = sha; - } - - public void NavigateToCurrentHead() - { - if (_currentBranch != null) - NavigateToCommit(_currentBranch.Head); + if (_workingCopy is not null) + _workingCopy.CommitMessage = string.Empty; } public void ClearHistoriesFilter() diff --git a/src/ViewModels/Revert.cs b/src/ViewModels/Revert.cs index 8334c444..bb07e2ff 100644 --- a/src/ViewModels/Revert.cs +++ b/src/ViewModels/Revert.cs @@ -25,6 +25,7 @@ namespace SourceGit.ViewModels public override Task Sure() { _repo.SetWatcherEnabled(false); + _repo.ClearCommitMessage(); ProgressDescription = $"Revert commit '{Target.SHA}' ..."; var log = _repo.CreateLog($"Revert '{Target.SHA}'"); diff --git a/src/Views/RepositoryToolbar.axaml b/src/Views/RepositoryToolbar.axaml index d70ecf4c..08cfd308 100644 --- a/src/Views/RepositoryToolbar.axaml +++ b/src/Views/RepositoryToolbar.axaml @@ -126,7 +126,7 @@ - diff --git a/src/Views/RepositoryToolbar.axaml.cs b/src/Views/RepositoryToolbar.axaml.cs index a3e02214..aa81f858 100644 --- a/src/Views/RepositoryToolbar.axaml.cs +++ b/src/Views/RepositoryToolbar.axaml.cs @@ -150,5 +150,14 @@ namespace SourceGit.Views e.Handled = true; } } + + private void NavigateToHead(object sender, RoutedEventArgs e) + { + if (DataContext is ViewModels.Repository { CurrentBranch: { } } repo) + { + repo.NavigateToCommit(repo.CurrentBranch.Head); + e.Handled = true; + } + } } }