mirror of
https://fastgit.cc/github.com/sourcegit-scm/sourcegit
synced 2026-04-25 11:24:02 +08:00
refactor: use a new Models.ChangeState.Conflicted to represent all the unmerged file state (#1359)
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
@@ -49,7 +49,6 @@ namespace SourceGit.ViewModels
|
||||
_change = change;
|
||||
|
||||
var isSubmodule = repo.Submodules.Find(x => x.Path.Equals(change.Path, StringComparison.Ordinal)) != null;
|
||||
|
||||
IsResolved = !isSubmodule && new Commands.IsConflictResolved(repo.FullPath, change).Result();
|
||||
|
||||
var context = wc.InProgressContext;
|
||||
|
||||
@@ -244,7 +244,7 @@ namespace SourceGit.ViewModels
|
||||
// Just force refresh selected changes.
|
||||
Dispatcher.UIThread.Invoke(() =>
|
||||
{
|
||||
HasUnsolvedConflicts = _cached.Find(x => x.IsConflict) != null;
|
||||
HasUnsolvedConflicts = _cached.Find(x => x.IsConflicted) != null;
|
||||
|
||||
UpdateDetail();
|
||||
UpdateInProgressState();
|
||||
@@ -276,7 +276,7 @@ namespace SourceGit.ViewModels
|
||||
if (c.WorkTree != Models.ChangeState.None)
|
||||
{
|
||||
unstaged.Add(c);
|
||||
hasConflict |= c.IsConflict;
|
||||
hasConflict |= c.IsConflicted;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -378,7 +378,7 @@ namespace SourceGit.ViewModels
|
||||
|
||||
foreach (var change in changes)
|
||||
{
|
||||
if (!change.IsConflict)
|
||||
if (!change.IsConflicted)
|
||||
continue;
|
||||
|
||||
if (change.WorkTree == Models.ChangeState.Deleted)
|
||||
@@ -420,7 +420,7 @@ namespace SourceGit.ViewModels
|
||||
|
||||
foreach (var change in changes)
|
||||
{
|
||||
if (!change.IsConflict)
|
||||
if (!change.IsConflicted)
|
||||
continue;
|
||||
|
||||
if (change.Index == Models.ChangeState.Deleted)
|
||||
@@ -547,17 +547,17 @@ namespace SourceGit.ViewModels
|
||||
|
||||
public void Commit()
|
||||
{
|
||||
DoCommit(false, false, false);
|
||||
DoCommit(false, false);
|
||||
}
|
||||
|
||||
public void CommitWithAutoStage()
|
||||
{
|
||||
DoCommit(true, false, false);
|
||||
DoCommit(true, false);
|
||||
}
|
||||
|
||||
public void CommitWithPush()
|
||||
{
|
||||
DoCommit(false, true, false);
|
||||
DoCommit(false, true);
|
||||
}
|
||||
|
||||
public ContextMenu CreateContextMenuForUnstagedChanges()
|
||||
@@ -594,7 +594,7 @@ namespace SourceGit.ViewModels
|
||||
menu.Items.Add(openWith);
|
||||
menu.Items.Add(new MenuItem() { Header = "-" });
|
||||
|
||||
if (change.IsConflict)
|
||||
if (change.IsConflicted)
|
||||
{
|
||||
var useTheirs = new MenuItem();
|
||||
useTheirs.Icon = App.CreateMenuIcon("Icons.Incoming");
|
||||
@@ -949,7 +949,7 @@ namespace SourceGit.ViewModels
|
||||
var hasNonConflicts = false;
|
||||
foreach (var change in _selectedUnstaged)
|
||||
{
|
||||
if (change.IsConflict)
|
||||
if (change.IsConflicted)
|
||||
hasConflicts = true;
|
||||
else
|
||||
hasNonConflicts = true;
|
||||
@@ -1534,9 +1534,7 @@ namespace SourceGit.ViewModels
|
||||
var rs = new List<Models.Change>();
|
||||
foreach (var c in _cached)
|
||||
{
|
||||
if (c.Index != Models.ChangeState.None &&
|
||||
c.Index != Models.ChangeState.Untracked &&
|
||||
!c.IsConflict)
|
||||
if (c.Index != Models.ChangeState.None)
|
||||
rs.Add(c);
|
||||
}
|
||||
return rs;
|
||||
@@ -1682,7 +1680,7 @@ namespace SourceGit.ViewModels
|
||||
|
||||
if (change == null)
|
||||
DetailContext = null;
|
||||
else if (change.IsConflict && isUnstaged)
|
||||
else if (change.IsConflicted)
|
||||
DetailContext = new Conflict(_repo, this, change);
|
||||
else
|
||||
DetailContext = new DiffContext(_repo.FullPath, new Models.DiffOption(change, isUnstaged), _detailContext as DiffContext);
|
||||
@@ -1764,14 +1762,17 @@ namespace SourceGit.ViewModels
|
||||
{
|
||||
if (old.Count != cur.Count)
|
||||
return true;
|
||||
|
||||
var oldSet = new HashSet<string>();
|
||||
|
||||
var oldMap = new Dictionary<string, Models.Change>();
|
||||
foreach (var c in old)
|
||||
oldSet.Add($"{c.Path}\n{c.WorkTree}\n{c.Index}");
|
||||
oldMap.Add(c.Path, c);
|
||||
|
||||
foreach (var c in cur)
|
||||
{
|
||||
if (!oldSet.Contains($"{c.Path}\n{c.WorkTree}\n{c.Index}"))
|
||||
if (!oldMap.TryGetValue(c.Path, out var o))
|
||||
return true;
|
||||
|
||||
if (o.Index != c.Index || o.WorkTree != c.WorkTree)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user