diff --git a/src/ViewModels/WorkingCopy.cs b/src/ViewModels/WorkingCopy.cs index bc5f5f26..71efadea 100644 --- a/src/ViewModels/WorkingCopy.cs +++ b/src/ViewModels/WorkingCopy.cs @@ -264,8 +264,8 @@ namespace SourceGit.ViewModels return; HasUnsolvedConflicts = _cached.Find(x => x.IsConflicted) != null; - UpdateDetail(); UpdateInProgressState(); + UpdateDetail(); }); return; @@ -313,6 +313,12 @@ namespace SourceGit.ViewModels selectedStaged.Add(c); } + if (selectedUnstaged.Count == 0 && selectedStaged.Count == 0 && hasConflict) + { + var firstConflict = visibleUnstaged.Find(x => x.IsConflicted); + selectedUnstaged.Add(firstConflict); + } + Dispatcher.UIThread.Invoke(() => { if (cancellationToken.IsCancellationRequested) @@ -329,8 +335,8 @@ namespace SourceGit.ViewModels SelectedStaged = selectedStaged; _isLoadingData = false; - UpdateDetail(); UpdateInProgressState(); + UpdateDetail(); }); } diff --git a/src/Views/WorkingCopy.axaml.cs b/src/Views/WorkingCopy.axaml.cs index a0ebce77..deffa520 100644 --- a/src/Views/WorkingCopy.axaml.cs +++ b/src/Views/WorkingCopy.axaml.cs @@ -336,7 +336,7 @@ namespace SourceGit.Views menu.Items.Add(useTheirs); menu.Items.Add(useMine); - if (change.ConflictReason is Models.ConflictReason.BothAdded or Models.ConflictReason.BothModified) + if (change.ConflictReason is Models.ConflictReason.BothAdded or Models.ConflictReason.BothModified && !Directory.Exists(path)) { var mergeBuiltin = new MenuItem(); mergeBuiltin.Header = App.Text("ChangeCM.Merge");