From 11eb4b51accebf8a163e8f46f99b067eda80f7b9 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 23 May 2014 08:29:14 -0400
Subject: [PATCH] Remove GitBlit static singleton reference from localclone.groovy

---
 src/main/java/com/gitblit/tickets/TicketNotifier.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/gitblit/tickets/TicketNotifier.java b/src/main/java/com/gitblit/tickets/TicketNotifier.java
index 6ff76de..9a5e4e1 100644
--- a/src/main/java/com/gitblit/tickets/TicketNotifier.java
+++ b/src/main/java/com/gitblit/tickets/TicketNotifier.java
@@ -204,7 +204,9 @@
 			} catch (Exception e) {
 				Logger.getLogger(getClass()).error("failed to get changed paths", e);
 			} finally {
-				repo.close();
+				if (repo != null) {
+					repo.close();
+				}
 			}
 
 			String compareUrl = ticketService.getCompareUrl(ticket, base, patchset.tip);
@@ -520,9 +522,16 @@
 
 		//
 		// Direct TO recipients
+		// reporter & responsible
 		//
+		Set<String> tos = new TreeSet<String>();
+		tos.add(ticket.createdBy);
+		if (!StringUtils.isEmpty(ticket.responsible)) {
+			tos.add(ticket.responsible);
+		}
+
 		Set<String> toAddresses = new TreeSet<String>();
-		for (String name : ticket.getParticipants()) {
+		for (String name : tos) {
 			UserModel user = userManager.getUserModel(name);
 			if (user != null && !user.disabled) {
 				if (!StringUtils.isEmpty(user.emailAddress)) {
@@ -543,6 +552,11 @@
 		//
 		Set<String> ccs = new TreeSet<String>();
 
+		// repository owners
+		if (!ArrayUtils.isEmpty(repository.owners)) {
+			tos.addAll(repository.owners);
+		}
+
 		// cc users mentioned in last comment
 		Change lastChange = ticket.changes.get(ticket.changes.size() - 1);
 		if (lastChange.hasComment()) {

--
Gitblit v1.9.1