From 4f9b08fabd6c19084b43780b59467790089e8536 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 29 Jan 2012 17:27:44 +0100 Subject: [PATCH] fix wrong scope error on mercurial post receive hooks --- .../java/sonia/scm/repository/HgContext.java | 32 +++++++++++++++++++ .../scm/repository/HgRepositoryHandler.java | 18 ++++++++++- .../scm/repository/HgRepositoryHookEvent.java | 2 +- 3 files changed, 50 insertions(+), 2 deletions(-) diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgContext.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgContext.java index 6deac80c37..cbf7804444 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgContext.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgContext.java @@ -45,6 +45,38 @@ import com.google.inject.servlet.RequestScoped; public class HgContext { + /** + * Constructs ... + * + */ + public HgContext() {} + + /** + * Constructs ... + * + * + * @param pending + */ + public HgContext(boolean pending) + { + this.pending = pending; + } + + /** + * Constructs ... + * + * + * @param pending + * @param systemEnvironment + */ + public HgContext(boolean pending, boolean systemEnvironment) + { + this.pending = pending; + this.systemEnvironment = systemEnvironment; + } + + //~--- get methods ---------------------------------------------------------- + /** * Method description * diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java index ab97cc6509..21a086f28f 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java @@ -408,8 +408,24 @@ public class HgRepositoryHandler * @return */ HgChangesetViewer getChangesetViewer(File repositoryDirectory) + { + return getChangesetViewer(repositoryDirectory, hgContextProvider.get()); + } + + /** + * Method description + * + * + * @param repositoryDirectory + * @param context + * + * @return + */ + HgChangesetViewer getChangesetViewer(File repositoryDirectory, + HgContext context) { AssertUtil.assertIsNotNull(repositoryDirectory); + AssertUtil.assertIsNotNull(context); if (!repositoryDirectory.isDirectory()) { @@ -417,7 +433,7 @@ public class HgRepositoryHandler } return new HgChangesetViewer(this, changesetPagingResultContext, - changesetContext, hgContextProvider.get(), + changesetContext, context, repositoryDirectory); } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHookEvent.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHookEvent.java index 24e424bdc1..0a37745af5 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHookEvent.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHookEvent.java @@ -128,7 +128,7 @@ public class HgRepositoryHookEvent extends AbstractRepositoryHookEvent File directory = handler.getConfig().getRepositoryDirectory(); File repositoryDirectory = new File(directory, repositoryName); - return handler.getChangesetViewer(repositoryDirectory); + return handler.getChangesetViewer(repositoryDirectory, new HgContext(true)); } //~--- fields ---------------------------------------------------------------