Skip to content

Commit 10d8d3b

Browse files
committed
refactor: branch compare
1 parent 59e3e4c commit 10d8d3b

File tree

10 files changed

+27
-71
lines changed

10 files changed

+27
-71
lines changed

src/Resources/Locales/de_DE.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
<x:String x:Key="Text.Blame" xml:space="preserve">Blame</x:String>
5151
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">BLAME WIRD BEI DIESER DATEI NICHT UNTERSTÜTZT!!!</x:String>
5252
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">Auschecken von ${0}$...</x:String>
53-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">Mit Branch vergleichen</x:String>
5453
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">Mit HEAD vergleichen</x:String>
5554
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">Mit Worktree vergleichen</x:String>
5655
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">Branch-Namen kopieren</x:String>

src/Resources/Locales/en_US.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
<x:String x:Key="Text.Blame" xml:space="preserve">Blame</x:String>
4848
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">BLAME ON THIS FILE IS NOT SUPPORTED!!!</x:String>
4949
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">Checkout ${0}$...</x:String>
50-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">Compare with Branch</x:String>
5150
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">Compare with HEAD</x:String>
5251
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">Compare with Worktree</x:String>
5352
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">Copy Branch Name</x:String>

src/Resources/Locales/es_ES.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
<x:String x:Key="Text.Blame" xml:space="preserve">Blame</x:String>
5151
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">¡BLAME EN ESTE ARCHIVO NO SOPORTADO!</x:String>
5252
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">Checkout ${0}$...</x:String>
53-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">Comparar con Rama</x:String>
5453
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">Comparar con HEAD</x:String>
5554
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">Comparar con Worktree</x:String>
5655
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">Copiar Nombre de Rama</x:String>

src/Resources/Locales/fr_FR.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
<x:String x:Key="Text.Blame" xml:space="preserve">Blâme</x:String>
5151
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">LE BLÂME SUR CE FICHIER N'EST PAS SUPPORTÉ!!!</x:String>
5252
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">Récupérer ${0}$...</x:String>
53-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">Comparer avec la branche</x:String>
5453
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">Comparer avec HEAD</x:String>
5554
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">Comparer avec le worktree</x:String>
5655
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">Copier le nom de la branche</x:String>

src/Resources/Locales/it_IT.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
<x:String x:Key="Text.Blame" xml:space="preserve">Attribuisci</x:String>
5151
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">L'ATTRIBUZIONE SU QUESTO FILE NON È SUPPORTATA!!!</x:String>
5252
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">Checkout ${0}$...</x:String>
53-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">Confronta con Branch</x:String>
5453
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">Confronta con HEAD</x:String>
5554
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">Confronta con Worktree</x:String>
5655
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">Copia Nome Branch</x:String>

src/Resources/Locales/pt_BR.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@
7575
<x:String x:Key="Text.Blame" xml:space="preserve">Blame</x:String>
7676
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">BLAME NESTE ARQUIVO NÃO É SUPORTADO!!!</x:String>
7777
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">Checkout ${0}$...</x:String>
78-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">Comparar com Branch</x:String>
7978
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">Comparar com HEAD</x:String>
8079
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">Comparar com Worktree</x:String>
8180
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">Copiar Nome do Branch</x:String>

src/Resources/Locales/ru_RU.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
<x:String x:Key="Text.Blame" xml:space="preserve">Расследование</x:String>
5151
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">РАССЛЕДОВАНИЕ В ЭТОМ ФАЙЛЕ НЕ ПОДДЕРЖИВАЕТСЯ!!!</x:String>
5252
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">Проверить ${0}$...</x:String>
53-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">Сравнить с веткой</x:String>
5453
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">Сравнить с ГОЛОВОЙ (HEAD)</x:String>
5554
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">Сравнить с рабочим каталогом</x:String>
5655
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">Копировать имя ветки</x:String>

src/Resources/Locales/zh_CN.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
<x:String x:Key="Text.Blame" xml:space="preserve">逐行追溯(blame)</x:String>
5151
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">选中文件不支持该操作!!!</x:String>
5252
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">检出(checkout) ${0}$...</x:String>
53-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">与其他分支对比</x:String>
5453
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">与当前HEAD比较</x:String>
5554
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">与本地工作树比较</x:String>
5655
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">复制分支名</x:String>

src/Resources/Locales/zh_TW.axaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@
5050
<x:String x:Key="Text.Blame" xml:space="preserve">逐行溯源 (blame)</x:String>
5151
<x:String x:Key="Text.BlameTypeNotSupported" xml:space="preserve">所選擇的檔案不支援該操作!</x:String>
5252
<x:String x:Key="Text.BranchCM.Checkout" xml:space="preserve">簽出 (checkout) ${0}$...</x:String>
53-
<x:String x:Key="Text.BranchCM.CompareWithBranch" xml:space="preserve">與其他分支比較</x:String>
5453
<x:String x:Key="Text.BranchCM.CompareWithHead" xml:space="preserve">與目前 HEAD 比較</x:String>
5554
<x:String x:Key="Text.BranchCM.CompareWithWorktree" xml:space="preserve">與本機工作區比較</x:String>
5655
<x:String x:Key="Text.BranchCM.CopyName" xml:space="preserve">複製分支名稱</x:String>

src/ViewModels/Repository.cs

Lines changed: 27 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using System.IO;
4+
using System.Runtime.Intrinsics.Arm;
45
using System.Text;
56
using System.Text.Json;
67
using System.Threading;
@@ -1463,13 +1464,6 @@ public ContextMenu CreateContextMenuForLocalBranch(Models.Branch branch)
14631464
}
14641465

14651466
menu.Items.Add(push);
1466-
1467-
var compareWithBranch = CreateMenuItemToCompareBranches(branch);
1468-
if (compareWithBranch != null)
1469-
{
1470-
menu.Items.Add(new MenuItem() { Header = "-" });
1471-
menu.Items.Add(compareWithBranch);
1472-
}
14731467
}
14741468
else
14751469
{
@@ -1540,6 +1534,19 @@ public ContextMenu CreateContextMenuForLocalBranch(Models.Branch branch)
15401534
menu.Items.Add(merge);
15411535
menu.Items.Add(rebase);
15421536

1537+
var compareWithHead = new MenuItem();
1538+
compareWithHead.Header = App.Text("BranchCM.CompareWithHead");
1539+
compareWithHead.Icon = App.CreateMenuIcon("Icons.Compare");
1540+
compareWithHead.Click += (_, _) =>
1541+
{
1542+
App.OpenDialog(new Views.BranchCompare()
1543+
{
1544+
DataContext = new BranchCompare(_fullpath, branch, _currentBranch)
1545+
});
1546+
};
1547+
menu.Items.Add(new MenuItem() { Header = "-" });
1548+
menu.Items.Add(compareWithHead);
1549+
15431550
if (_localChangesCount > 0)
15441551
{
15451552
var compareWithWorktree = new MenuItem();
@@ -1556,18 +1563,8 @@ public ContextMenu CreateContextMenuForLocalBranch(Models.Branch branch)
15561563
_histories.DetailContext = new RevisionCompare(_fullpath, target, null);
15571564
}
15581565
};
1559-
menu.Items.Add(new MenuItem() { Header = "-" });
15601566
menu.Items.Add(compareWithWorktree);
15611567
}
1562-
1563-
var compareWithBranch = CreateMenuItemToCompareBranches(branch);
1564-
if (compareWithBranch != null)
1565-
{
1566-
if (_localChangesCount == 0)
1567-
menu.Items.Add(new MenuItem() { Header = "-" });
1568-
1569-
menu.Items.Add(compareWithBranch);
1570-
}
15711568
}
15721569

15731570
var detect = Commands.GitFlow.DetectType(_fullpath, _branches, branch.Name);
@@ -1813,7 +1810,19 @@ public ContextMenu CreateContextMenuForRemoteBranch(Models.Branch branch)
18131810
menu.Items.Add(new MenuItem() { Header = "-" });
18141811
}
18151812

1816-
var hasCompare = false;
1813+
var compareWithHead = new MenuItem();
1814+
compareWithHead.Header = App.Text("BranchCM.CompareWithHead");
1815+
compareWithHead.Icon = App.CreateMenuIcon("Icons.Compare");
1816+
compareWithHead.Click += (_, _) =>
1817+
{
1818+
App.OpenDialog(new Views.BranchCompare()
1819+
{
1820+
DataContext = new BranchCompare(_fullpath, branch, _currentBranch)
1821+
});
1822+
};
1823+
menu.Items.Add(new MenuItem() { Header = "-" });
1824+
menu.Items.Add(compareWithHead);
1825+
18171826
if (_localChangesCount > 0)
18181827
{
18191828
var compareWithWorktree = new MenuItem();
@@ -1831,19 +1840,8 @@ public ContextMenu CreateContextMenuForRemoteBranch(Models.Branch branch)
18311840
}
18321841
};
18331842
menu.Items.Add(compareWithWorktree);
1834-
hasCompare = true;
18351843
}
18361844

1837-
var compareWithBranch = CreateMenuItemToCompareBranches(branch);
1838-
if (compareWithBranch != null)
1839-
{
1840-
menu.Items.Add(compareWithBranch);
1841-
hasCompare = true;
1842-
}
1843-
1844-
if (hasCompare)
1845-
menu.Items.Add(new MenuItem() { Header = "-" });
1846-
18471845
var delete = new MenuItem();
18481846
delete.Header = new Views.NameHighlightedTextBlock("BranchCM.Delete", name);
18491847
delete.Icon = App.CreateMenuIcon("Icons.Clear");
@@ -2078,39 +2076,6 @@ public ContextMenu CreateContextMenuForWorktree(Models.Worktree worktree)
20782076
return menu;
20792077
}
20802078

2081-
private MenuItem CreateMenuItemToCompareBranches(Models.Branch branch)
2082-
{
2083-
if (_branches.Count == 1)
2084-
return null;
2085-
2086-
var compare = new MenuItem();
2087-
compare.Header = App.Text("BranchCM.CompareWithBranch");
2088-
compare.Icon = App.CreateMenuIcon("Icons.Compare");
2089-
2090-
foreach (var b in _branches)
2091-
{
2092-
if (b.FullName != branch.FullName)
2093-
{
2094-
var dup = b;
2095-
var target = new MenuItem();
2096-
target.Header = b.FriendlyName;
2097-
target.Icon = App.CreateMenuIcon(b.IsCurrent ? "Icons.Check" : "Icons.Branch");
2098-
target.Click += (_, e) =>
2099-
{
2100-
App.OpenDialog(new Views.BranchCompare()
2101-
{
2102-
DataContext = new BranchCompare(_fullpath, branch, dup)
2103-
});
2104-
e.Handled = true;
2105-
};
2106-
2107-
compare.Items.Add(target);
2108-
}
2109-
}
2110-
2111-
return compare;
2112-
}
2113-
21142079
private LauncherPage GetOwnerPage()
21152080
{
21162081
var launcher = App.GetLauncer();

0 commit comments

Comments
 (0)