From 4aa595cd4307d40e32fdb12f5178122caaa8c643 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 07 May 2014 10:28:24 -0400
Subject: [PATCH] Merged #54 "Repository model ref list does not refresh on ref creation/deletion"

---
 src/main/java/com/gitblit/git/GitblitReceivePack.java |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/gitblit/git/GitblitReceivePack.java b/src/main/java/com/gitblit/git/GitblitReceivePack.java
index 61f2d67..b4449f0 100644
--- a/src/main/java/com/gitblit/git/GitblitReceivePack.java
+++ b/src/main/java/com/gitblit/git/GitblitReceivePack.java
@@ -331,6 +331,8 @@
 			return;
 		}
 
+		boolean isRefCreationOrDeletion = false;
+
 		// log ref changes
 		for (ReceiveCommand cmd : commands) {
 
@@ -339,9 +341,11 @@
 				switch (cmd.getType()) {
 				case DELETE:
 					LOGGER.info(MessageFormat.format("{0} DELETED {1} in {2} ({3})", user.username, cmd.getRefName(), repository.name, cmd.getOldId().name()));
+					isRefCreationOrDeletion = true;
 					break;
 				case CREATE:
 					LOGGER.info(MessageFormat.format("{0} CREATED {1} in {2}", user.username, cmd.getRefName(), repository.name));
+					isRefCreationOrDeletion = true;
 					break;
 				case UPDATE:
 					LOGGER.info(MessageFormat.format("{0} UPDATED {1} in {2} (from {3} to {4})", user.username, cmd.getRefName(), repository.name, cmd.getOldId().name(), cmd.getNewId().name()));
@@ -355,6 +359,10 @@
 			}
 		}
 
+		if (isRefCreationOrDeletion) {
+			gitblit.resetRepositoryCache(repository.name);
+		}
+
 		if (repository.useIncrementalPushTags) {
 			// tag each pushed branch tip
 			String emailAddress = user.emailAddress == null ? rp.getRefLogIdent().getEmailAddress() : user.emailAddress;

--
Gitblit v1.9.1