From cc1cb061fbc05c56b6254ef5fdc9698449449897 Mon Sep 17 00:00:00 2001 From: heartacker Date: Fri, 18 Jul 2025 15:49:31 +0800 Subject: [PATCH 1/2] add SimplifyByDecoration mode Fixes #1595 --- src/Models/RepositorySettings.cs | 6 ++++++ src/Resources/Locales/en_US.axaml | 1 + src/ViewModels/Repository.cs | 17 +++++++++++++++++ src/Views/Repository.axaml | 18 ++++++++++++++++-- 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/Models/RepositorySettings.cs b/src/Models/RepositorySettings.cs index 4e51b368a..8fce509fe 100644 --- a/src/Models/RepositorySettings.cs +++ b/src/Models/RepositorySettings.cs @@ -14,6 +14,12 @@ public string DefaultRemote set; } = string.Empty; + public bool SimplifyByDecoration + { + get; + set; + } = false; + public bool EnableReflog { get; diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml index 03282867d..40c45d9d3 100644 --- a/src/Resources/Locales/en_US.axaml +++ b/src/Resources/Locales/en_US.axaml @@ -670,6 +670,7 @@ Current Branch Show first-parent only Show lost commits + Show Decorate Commits Only Show Submodules as Tree Show Tags as Tree SKIP diff --git a/src/ViewModels/Repository.cs b/src/ViewModels/Repository.cs index 931a10876..d8ba871b8 100644 --- a/src/ViewModels/Repository.cs +++ b/src/ViewModels/Repository.cs @@ -91,6 +91,20 @@ public object SelectedView set => SetProperty(ref _selectedView, value); } + public bool SimplifyByDecoration + { + get => _settings.SimplifyByDecoration; + set + { + if (value != _settings.SimplifyByDecoration) + { + _settings.SimplifyByDecoration = value; + OnPropertyChanged(); + Task.Run(RefreshCommits); + } + } + } + public bool EnableReflog { get => _settings.EnableReflog; @@ -1271,6 +1285,9 @@ public void RefreshCommits() builder.Append("--reflog "); if (_settings.EnableFirstParentInHistories) builder.Append("--first-parent "); + // only show commits with decorators + if (_settings.SimplifyByDecoration) + builder.Append("--simplify-by-decoration "); var filters = _settings.BuildHistoriesFilter(); if (string.IsNullOrEmpty(filters)) diff --git a/src/Views/Repository.axaml b/src/Views/Repository.axaml index 910ec07fb..b642f2630 100644 --- a/src/Views/Repository.axaml +++ b/src/Views/Repository.axaml @@ -83,7 +83,7 @@ - + @@ -131,7 +131,21 @@ ToolTip.Tip="{DynamicResource Text.Repository.UseRelativeTimeInGraph}"> -