code_review: PR #793

* do NOT modify the existing merge, and add a new constructor for `Commands.Merge` instead
* rewrite `ViewModels.MergeMultiple`
  - since `_histories.Commits.Find` may returns null, use `List<object>` instead of `List<Models.Commits>`
  - supports display merge target as both `Models.Commit` and `Models.Branch`
* rename translation key `Text.MergeMultiple.Commit` to `Text.MergeMultiple.Targets`, and add translations for zh_CN and zh_TW
* some UI/UX changes
This commit is contained in:
leo 2024-12-09 21:12:58 +08:00
parent 4eed9674b4
commit 94daa46db9
No known key found for this signature in database
10 changed files with 122 additions and 40 deletions

View file

@ -13,7 +13,6 @@ using Avalonia.Media.Imaging;
using Avalonia.Threading;
using CommunityToolkit.Mvvm.ComponentModel;
using SourceGit.Models;
namespace SourceGit.ViewModels
{
@ -954,7 +953,7 @@ namespace SourceGit.ViewModels
public void MergeMultipleBranches(List<Models.Branch> branches)
{
if (PopupHost.CanCreatePopup())
PopupHost.ShowPopup(new MergeMultiple(this, branches.ConvertAll(b => _histories?.Commits?.Find(c => c.SHA == b.Head))));
PopupHost.ShowPopup(new MergeMultiple(this, branches));
}
public void CreateNewTag()