From 30f9d25d77ccb5cd978d4cf8fa389ec819e90e95 Mon Sep 17 00:00:00 2001
From: Philip L. McMahon <philip.l.mcmahon@gmail.com>
Date: Fri, 27 Jan 2012 02:02:19 -0500
Subject: [PATCH] Correct update of HEAD symbolic reference when target is a tag.

---
 src/com/gitblit/GitServlet.java |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/com/gitblit/GitServlet.java b/src/com/gitblit/GitServlet.java
index 36e1c3e..3b60e9f 100644
--- a/src/com/gitblit/GitServlet.java
+++ b/src/com/gitblit/GitServlet.java
@@ -99,9 +99,9 @@
 	}
 
 	/**
-	 * Transitional wrapper class to configure the JGit 1.2 GitFilter.
-	 * This GitServlet will probably be replaced by a GitFilter so that Gitblit
-	 * can serve Git repositories on the root URL and not a /git sub-url.
+	 * Transitional wrapper class to configure the JGit 1.2 GitFilter. This
+	 * GitServlet will probably be replaced by a GitFilter so that Gitblit can
+	 * serve Git repositories on the root URL and not a /git sub-url.
 	 * 
 	 * @author James Moger
 	 * 
@@ -160,9 +160,9 @@
 		 */
 		@Override
 		public void onPreReceive(ReceivePack rp, Collection<ReceiveCommand> commands) {
-			Set<String> scripts = new LinkedHashSet<String>();
-			scripts.addAll(GitBlit.getStrings(Keys.groovy.preReceiveScripts));
 			RepositoryModel repository = getRepositoryModel(rp);
+			Set<String> scripts = new LinkedHashSet<String>();
+			scripts.addAll(GitBlit.self().getPreReceiveScriptsInherited(repository));
 			scripts.addAll(repository.preReceiveScripts);
 			UserModel user = getUserModel(rp);
 			runGroovy(repository, user, commands, scripts);
@@ -188,9 +188,9 @@
 				logger.info("skipping post-receive hooks, no refs created, updated, or removed");
 				return;
 			}
-			Set<String> scripts = new LinkedHashSet<String>();
-			scripts.addAll(GitBlit.getStrings(Keys.groovy.postReceiveScripts));
 			RepositoryModel repository = getRepositoryModel(rp);
+			Set<String> scripts = new LinkedHashSet<String>();
+			scripts.addAll(GitBlit.self().getPostReceiveScriptsInherited(repository));
 			scripts.addAll(repository.postReceiveScripts);
 			UserModel user = getUserModel(rp);
 			runGroovy(repository, user, commands, scripts);
@@ -208,8 +208,8 @@
 		protected RepositoryModel getRepositoryModel(ReceivePack rp) {
 			Repository repository = rp.getRepository();
 			String rootPath = GitBlit.getRepositoriesFolder().getAbsolutePath();
-			String repositoryName = repository.getDirectory().getAbsolutePath();
-			repositoryName = repositoryName.substring(rootPath.length() + 1);
+			String repositoryName = StringUtils.getRelativePath(rootPath, repository.getDirectory()
+					.getAbsolutePath());
 			RepositoryModel model = GitBlit.self().getRepositoryModel(repositoryName);
 			return model;
 		}

--
Gitblit v1.9.1