From f59851f454445347328397fe239ed03fd1d53490 Mon Sep 17 00:00:00 2001 From: leo Date: Wed, 11 Jun 2025 20:25:41 +0800 Subject: [PATCH] refactor: case-insensitive sorting - `ToUpper` is not necessary to compare digit char with non-digit char - use numeric sorting for commit decorators with same type Signed-off-by: leo --- src/Models/Commit.cs | 2 +- src/Models/NumericSort.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Models/Commit.cs b/src/Models/Commit.cs index 865b3ac1..9a7933c8 100644 --- a/src/Models/Commit.cs +++ b/src/Models/Commit.cs @@ -113,7 +113,7 @@ namespace SourceGit.Models if (l.Type != r.Type) return (int)l.Type - (int)r.Type; else - return string.Compare(l.Name, r.Name, StringComparison.Ordinal); + return NumericSort.Compare(l.Name, r.Name); }); } } diff --git a/src/Models/NumericSort.cs b/src/Models/NumericSort.cs index 3bb69fe2..ed4e52b8 100644 --- a/src/Models/NumericSort.cs +++ b/src/Models/NumericSort.cs @@ -26,7 +26,7 @@ namespace SourceGit.Models bool isDigit1 = char.IsDigit(c1); bool isDigit2 = char.IsDigit(c2); if (isDigit1 != isDigit2) - return char.ToUpper(c1, CultureInfo.CurrentCulture).CompareTo(char.ToUpper(c2, CultureInfo.CurrentCulture)); + return c1.CompareTo(c2); do {