diff --git a/internal/merge/merge.go b/internal/merge/merge.go index 06605594..8d8e715a 100644 --- a/internal/merge/merge.go +++ b/internal/merge/merge.go @@ -292,12 +292,14 @@ func IsExpiredTombstone(issue Issue, ttl time.Duration) bool { } func merge3Way(base, left, right []Issue) ([]Issue, []string) { - return merge3WayWithTTL(base, left, right, DefaultTombstoneTTL) + return Merge3WayWithTTL(base, left, right, DefaultTombstoneTTL) } -// merge3WayWithTTL performs a 3-way merge with configurable tombstone TTL. +// Merge3WayWithTTL performs a 3-way merge with configurable tombstone TTL. // This is the core merge function that handles tombstone semantics. -func merge3WayWithTTL(base, left, right []Issue, ttl time.Duration) ([]Issue, []string) { +// Use this when you need to configure TTL for testing, debugging, or +// per-repository configuration. For default TTL behavior, use merge3Way. +func Merge3WayWithTTL(base, left, right []Issue, ttl time.Duration) ([]Issue, []string) { // Build maps for quick lookup by IssueKey baseMap := make(map[IssueKey]Issue) for _, issue := range base { diff --git a/internal/merge/merge_test.go b/internal/merge/merge_test.go index b688ea49..93a497f3 100644 --- a/internal/merge/merge_test.go +++ b/internal/merge/merge_test.go @@ -1648,7 +1648,7 @@ func TestMerge3WayWithTTL(t *testing.T) { left := []Issue{tombstone} right := []Issue{liveIssue} - result, _ := merge3WayWithTTL(base, left, right, shortTTL) + result, _ := Merge3WayWithTTL(base, left, right, shortTTL) if len(result) != 1 { t.Fatalf("expected 1 issue, got %d", len(result)) } @@ -1665,7 +1665,7 @@ func TestMerge3WayWithTTL(t *testing.T) { left := []Issue{tombstone} right := []Issue{liveIssue} - result, _ := merge3WayWithTTL(base, left, right, longTTL) + result, _ := Merge3WayWithTTL(base, left, right, longTTL) if len(result) != 1 { t.Fatalf("expected 1 issue, got %d", len(result)) }