diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml index 0c3eff84..c1df653b 100644 --- a/src/Resources/Locales/en_US.axaml +++ b/src/Resources/Locales/en_US.axaml @@ -281,6 +281,7 @@ Discard {0} files... Discard Changes in Selected Line(s) Open External Merge Tool + Resolve Using '{0}' Save as Patch... Stage Stage {0} files diff --git a/src/Resources/Locales/zh_CN.axaml b/src/Resources/Locales/zh_CN.axaml index 4560cc49..e828057d 100644 --- a/src/Resources/Locales/zh_CN.axaml +++ b/src/Resources/Locales/zh_CN.axaml @@ -284,6 +284,7 @@ 放弃 {0} 个文件的更改... 放弃选中的更改 使用外部合并工具打开 + 应用 '{0}' 另存为补丁... 暂存(add) 暂存(add){0} 个文件 diff --git a/src/Resources/Locales/zh_TW.axaml b/src/Resources/Locales/zh_TW.axaml index fcc3f070..b77f3449 100644 --- a/src/Resources/Locales/zh_TW.axaml +++ b/src/Resources/Locales/zh_TW.axaml @@ -284,6 +284,7 @@ 捨棄已選的 {0} 個檔案變更... 捨棄選取的變更 使用外部合併工具開啟 + 使用 '{0}' 另存為修補檔 (patch)... 暫存 (add) 暫存 (add) 已選的 {0} 個檔案 diff --git a/src/ViewModels/InProgressContexts.cs b/src/ViewModels/InProgressContexts.cs index e398bd12..f28a6adb 100644 --- a/src/ViewModels/InProgressContexts.cs +++ b/src/ViewModels/InProgressContexts.cs @@ -81,6 +81,12 @@ namespace SourceGit.ViewModels public class RebaseInProgress : InProgressContext { + public string HeadName + { + get; + private set; + } + public Models.Commit StoppedAt { get; @@ -93,6 +99,10 @@ namespace SourceGit.ViewModels var stoppedSHA = File.ReadAllText(Path.Combine(repo.GitDir, "rebase-merge", "stopped-sha")).Trim(); StoppedAt = new Commands.QuerySingleCommit(repo.FullPath, stoppedSHA).Result(); + + HeadName = File.ReadAllText(Path.Combine(repo.GitDir, "rebase-merge", "head-name")).Trim(); + if (HeadName.StartsWith("refs/heads/")) + HeadName = HeadName.Substring(11); } public override bool Continue() diff --git a/src/ViewModels/WorkingCopy.cs b/src/ViewModels/WorkingCopy.cs index c2e5d4de..c329fe6d 100644 --- a/src/ViewModels/WorkingCopy.cs +++ b/src/ViewModels/WorkingCopy.cs @@ -569,6 +569,22 @@ namespace SourceGit.ViewModels e.Handled = true; }; + if (_inProgressContext is RebaseInProgress rebase) + { + useTheirs.Header = App.Text("FileCM.ResolveUsing", rebase.HeadName); + useMine.Header = App.Text("FileCM.ResolveUsing", rebase.StoppedAt.SHA.Substring(0, 10)); + } + else if (_inProgressContext is CherryPickInProgress cherryPick) + { + useTheirs.Header = App.Text("FileCM.ResolveUsing", cherryPick.Head.SHA.Substring(0, 10)); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + } + else if (_inProgressContext is MergeInProgress merge) + { + useTheirs.Header = App.Text("FileCM.ResolveUsing", merge.SourceName); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + } + menu.Items.Add(useTheirs); menu.Items.Add(useMine); menu.Items.Add(openMerger); @@ -892,6 +908,22 @@ namespace SourceGit.ViewModels e.Handled = true; }; + if (_inProgressContext is RebaseInProgress rebase) + { + useTheirs.Header = App.Text("FileCM.ResolveUsing", rebase.HeadName); + useMine.Header = App.Text("FileCM.ResolveUsing", rebase.StoppedAt.SHA.Substring(0, 10)); + } + else if (_inProgressContext is CherryPickInProgress cherryPick) + { + useTheirs.Header = App.Text("FileCM.ResolveUsing", cherryPick.Head.SHA.Substring(0, 10)); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + } + else if (_inProgressContext is MergeInProgress merge) + { + useTheirs.Header = App.Text("FileCM.ResolveUsing", merge.SourceName); + useMine.Header = App.Text("FileCM.ResolveUsing", _repo.CurrentBranch.Name); + } + menu.Items.Add(useTheirs); menu.Items.Add(useMine); return menu;