From ee4ef4efef65c834f722381c012928df602ceff3 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 28 Mar 2014 20:06:00 -0400
Subject: [PATCH] Fix close ticket on push by commit message parsing (issue-404)

---
 src/main/java/com/gitblit/git/PatchsetReceivePack.java |    5 ++++-
 releases.moxie                                         |    1 +
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/releases.moxie b/releases.moxie
index 0c5299e..6227ce5 100644
--- a/releases.moxie
+++ b/releases.moxie
@@ -11,6 +11,7 @@
     security: ~
     fixes:
     - Repository mailing lists could not be reset from the Edit Repository page (issue-399)
+    - Fix closing ticket on push by parsing commit messages for closes|fixes (issue-404)
     - Ensure the Lucene ticket index is updated on repository deletion.
     changes:
     - Option to allow LDAP users to directly authenticate without performing LDAP searches (pr-162))
diff --git a/src/main/java/com/gitblit/git/PatchsetReceivePack.java b/src/main/java/com/gitblit/git/PatchsetReceivePack.java
index 3ec3086..1d3312a 100644
--- a/src/main/java/com/gitblit/git/PatchsetReceivePack.java
+++ b/src/main/java/com/gitblit/git/PatchsetReceivePack.java
@@ -775,6 +775,9 @@
 				}
 
 				TicketModel ticket = ticketService.getTicket(repository, ticketNumber);
+				if (ticket == null) {
+					continue;
+				}
 				String integrationBranch;
 				if (StringUtils.isEmpty(ticket.mergeTo)) {
 					// unspecified integration branch
@@ -897,7 +900,7 @@
 			Pattern p = Pattern.compile("(?:fixes|closes)[\\s-]+#?(\\d+)", Pattern.CASE_INSENSITIVE);
 			Matcher m = p.matcher(commit.getFullMessage());
 			while (m.find()) {
-				String val = m.group();
+				String val = m.group(1);
 				return Long.parseLong(val);
 			}
 		}

--
Gitblit v1.9.1