From a39f2e2fee50c59438038c8340ff83832c9e117a Mon Sep 17 00:00:00 2001
From: heartacker <1876302+heartacker@users.noreply.github.com>
Date: Mon, 21 Jul 2025 11:40:00 +0800
Subject: [PATCH] feature: add `gerrit` change-id rule (#1600)
- git hash id length is 40
- gerrit change-id length is 41, and must startwith "I"
---
src/Resources/Locales/en_US.axaml | 1 +
src/ViewModels/RepositoryConfigure.cs | 5 +++++
src/Views/RepositoryConfigure.axaml | 1 +
3 files changed, 7 insertions(+)
diff --git a/src/Resources/Locales/en_US.axaml b/src/Resources/Locales/en_US.axaml
index 2166f05f..6403c665 100644
--- a/src/Resources/Locales/en_US.axaml
+++ b/src/Resources/Locales/en_US.axaml
@@ -201,6 +201,7 @@
Add Sample GitLab Issue Rule
Add Sample GitLab Merge Request Rule
Add Sample Jira Rule
+ Add Gerrit Change-Id Commit Rule
New Rule
Issue Regex Expression:
Rule Name:
diff --git a/src/ViewModels/RepositoryConfigure.cs b/src/ViewModels/RepositoryConfigure.cs
index f118a66d..72f7c2e8 100644
--- a/src/ViewModels/RepositoryConfigure.cs
+++ b/src/ViewModels/RepositoryConfigure.cs
@@ -213,6 +213,11 @@ namespace SourceGit.ViewModels
SelectedIssueTrackerRule = _repo.Settings.AddIssueTracker("GitHub ISSUE", @"#(\d+)", link);
}
+ public void AddSampleGerritChangeIdCommitTracker()
+ {
+ SelectedIssueTrackerRule = _repo.Settings.AddIssueTracker("Gerrit Change-Id", @"(I[A-Za-z0-9]{40})", "https://gerrit.yourcompany.com/q/$1");
+ }
+
public void AddSampleJiraIssueTracker()
{
SelectedIssueTrackerRule = _repo.Settings.AddIssueTracker("Jira Tracker", @"PROJ-(\d+)", "https://jira.yourcompany.com/browse/PROJ-$1");
diff --git a/src/Views/RepositoryConfigure.axaml b/src/Views/RepositoryConfigure.axaml
index f243540c..f786a3d8 100644
--- a/src/Views/RepositoryConfigure.axaml
+++ b/src/Views/RepositoryConfigure.axaml
@@ -324,6 +324,7 @@
+