X-Git-Url: https://git.jetbrains.org/?p=teamcity%2Fgit-plugin.git;a=blobdiff_plain;f=git-server-tc%2Fsrc%2Fjetbrains%2FbuildServer%2FbuildTriggers%2Fvcs%2Fgit%2FGitClonesUpdater.java;h=4435f5988be95a83c37544d0d4df171d41dda159;hp=004cf68c6c9d11289a6e0cc7b1704a754d5e68e6;hb=b9c966eb0b6fb53fe344733e1ef1f876e25151b6;hpb=00b3f1956e0912df50edc879a9941c4bf3eaa0b7 diff --git a/git-server-tc/src/jetbrains/buildServer/buildTriggers/vcs/git/GitClonesUpdater.java b/git-server-tc/src/jetbrains/buildServer/buildTriggers/vcs/git/GitClonesUpdater.java index 004cf68c..4435f598 100644 --- a/git-server-tc/src/jetbrains/buildServer/buildTriggers/vcs/git/GitClonesUpdater.java +++ b/git-server-tc/src/jetbrains/buildServer/buildTriggers/vcs/git/GitClonesUpdater.java @@ -17,10 +17,7 @@ package jetbrains.buildServer.buildTriggers.vcs.git; import jetbrains.buildServer.log.Loggers; -import jetbrains.buildServer.serverSide.BuildServerAdapter; -import jetbrains.buildServer.serverSide.BuildServerListener; -import jetbrains.buildServer.serverSide.ServerResponsibility; -import jetbrains.buildServer.serverSide.TeamCityProperties; +import jetbrains.buildServer.serverSide.*; import jetbrains.buildServer.util.EventDispatcher; import jetbrains.buildServer.util.ThreadUtil; import jetbrains.buildServer.util.executors.ExecutorsFactory; @@ -54,7 +51,7 @@ public class GitClonesUpdater { @NotNull final RepositoryState newState) { if (serverResponsibility.canCheckForChanges()) return; - if (!TeamCityProperties.getBoolean("teamcity.git.localClones.updateIfNoCheckingForChangesResponsibility")) return; + if (!TeamCityProperties.getBooleanOrTrue("teamcity.git.localClones.updateIfNoCheckingForChangesResponsibility")) return; if (root.getVcsName().equals(Constants.VCS_NAME)) { myScheduledForUpdate.put(root, RepositoryStateFactory.toData(newState)); @@ -87,14 +84,16 @@ public class GitClonesUpdater { OperationContext context = myVcs.createContext(root, "updating local clone"); try { - GitVcsRoot gitRoot = context.getGitRoot(); - myRepositoryManager.runWithDisabledRemove(gitRoot.getRepositoryDir(), () -> { - Repository repo = context.getRepository(); - try { - myVcs.getCollectChangesPolicy().ensureRepositoryStateLoadedFor(context, repo, true, state); - } catch (Exception e1) { - throw new VcsException(e1); - } + ReadOnlyRestrictor.doReadOnlyCommandLine(() -> { + GitVcsRoot gitRoot = context.getGitRoot(); + myRepositoryManager.runWithDisabledRemove(gitRoot.getRepositoryDir(), () -> { + Repository repo = context.getRepository(); + try { + myVcs.getCollectChangesPolicy().ensureRepositoryStateLoadedFor(context, repo, true, state); + } catch (Exception e1) { + throw new VcsException(e1); + } + }); }); } catch (VcsException e1) { Loggers.VCS.warnAndDebugDetails("Could not update local clone for: " + LogUtil.describe(root), e1);