Mercurial > hg > mercurial
changeset 419:743dc1646555 Faradi-7.0.x
Add option to not use revsets
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 25 Apr 2012 17:56:34 +0400 |
parents | e56678c38fd5 |
children | 20f5eca6b8ec 83aff5760c25 |
files | mercurial-server/src/META-INF/build-server-plugin-mercurial.xml mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/RepoFactory.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerHgRepo.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/Util.java |
diffstat | 7 files changed, 22 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-server/src/META-INF/build-server-plugin-mercurial.xml Wed Apr 25 17:56:22 2012 +0400 +++ b/mercurial-server/src/META-INF/build-server-plugin-mercurial.xml Wed Apr 25 17:56:34 2012 +0400 @@ -4,7 +4,7 @@ <beans default-autowire="constructor"> <bean id="mercurialServer" class="jetbrains.buildServer.buildTriggers.vcs.mercurial.MercurialVcsSupport" /> <bean id="config" class="jetbrains.buildServer.buildTriggers.vcs.mercurial.ServerPluginConfigImpl" /> - <bean id="commandFactory" class="jetbrains.buildServer.buildTriggers.vcs.mercurial.RepoFactory" /> + <bean id="repoFactory" class="jetbrains.buildServer.buildTriggers.vcs.mercurial.RepoFactory" /> <bean id="hgPathProvider" class="jetbrains.buildServer.buildTriggers.vcs.mercurial.ServerHgPathProvider"/> <bean id="mirrorManager" class="jetbrains.buildServer.buildTriggers.vcs.mercurial.MirrorManagerImpl" /> </beans>
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/RepoFactory.java Wed Apr 25 17:56:22 2012 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/RepoFactory.java Wed Apr 25 17:56:34 2012 +0400 @@ -16,15 +16,17 @@ */ public final class RepoFactory { + private final ServerPluginConfig myConfig; private File myLogTemplate; - public RepoFactory() throws IOException { + public RepoFactory(@NotNull ServerPluginConfig config) throws IOException { + myConfig = config; myLogTemplate = createLogTemplate(); } @NotNull public ServerHgRepo create(@NotNull File workingDir, @NotNull String hgPath, @NotNull AuthSettings authSettings) throws VcsException { - return new ServerHgRepo(workingDir, hgPath, authSettings).withLogTemplate(getTemplate()); + return new ServerHgRepo(myConfig, workingDir, hgPath, authSettings).withLogTemplate(getTemplate()); } public void dispose() {
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerHgRepo.java Wed Apr 25 17:56:22 2012 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerHgRepo.java Wed Apr 25 17:56:34 2012 +0400 @@ -12,10 +12,12 @@ public class ServerHgRepo extends HgRepo { private final static HgVersion REVSET_HG_VERSION = new HgVersion(1, 7, 0); + private final ServerPluginConfig myConfig; private File myLogTemplate; - public ServerHgRepo(@NotNull File workingDir, @NotNull String hgPath, @NotNull AuthSettings authSettings) { + public ServerHgRepo(@NotNull ServerPluginConfig config, @NotNull File workingDir, @NotNull String hgPath, @NotNull AuthSettings authSettings) { super(workingDir, hgPath, authSettings); + myConfig = config; } public ServerHgRepo withLogTemplate(@NotNull File logTemplate) { @@ -37,6 +39,9 @@ @NotNull public CollectChangesCommand collectChanges() throws VcsException { + if (myConfig.dontUseRevsets()) + return new CollectChangesNoRevsets(this); + HgVersion hgVersion = getHgVersion(); if (hgVersion.isEqualsOrGreaterThan(REVSET_HG_VERSION)) { return new CollectChangesWithRevsets(this);
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java Wed Apr 25 17:56:22 2012 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfig.java Wed Apr 25 17:56:34 2012 +0400 @@ -13,4 +13,6 @@ public boolean isUsePullProtocol(); int getPullTimeout(); + + public boolean dontUseRevsets(); }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java Wed Apr 25 17:56:22 2012 +0400 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigImpl.java Wed Apr 25 17:56:34 2012 +0400 @@ -35,6 +35,10 @@ return myCachesDir; } + public boolean dontUseRevsets() { + return TeamCityProperties.getBoolean("teamcity.hg.dont.use.revsets"); + } + public int getPullTimeout() { int timeout = TeamCityProperties.getInteger(PULL_TIMEOUT_SECONDS, DEFAULT_PULL_TIMEOUT_SECONDS); return timeout > 0 ? timeout : DEFAULT_PULL_TIMEOUT_SECONDS;
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java Wed Apr 25 17:56:22 2012 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/ServerPluginConfigBuilder.java Wed Apr 25 17:56:34 2012 +0400 @@ -36,6 +36,10 @@ public int getPullTimeout() { return ServerPluginConfigImpl.DEFAULT_PULL_TIMEOUT_SECONDS; } + + public boolean dontUseRevsets() { + return false; + } }; }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/Util.java Wed Apr 25 17:56:22 2012 +0400 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/Util.java Wed Apr 25 17:56:34 2012 +0400 @@ -32,7 +32,7 @@ public static MercurialVcsSupport createMercurialServerSupport(@NotNull Mockery context, ServerPluginConfig config) throws IOException { - return createMercurialServerSupport(context, config, new RepoFactory()); + return createMercurialServerSupport(context, config, new RepoFactory(config)); }