# HG changeset patch # User eugene.petrenko@jetbrains.com # Date 1390931067 -3600 # Node ID ea5b0ed87e1838805636160cd8b6d685a467c3ed # Parent 789802ac672d9615e6f8e38f451aef0bd0a4bf11 report commit heads diff -r 789802ac672d -r ea5b0ed87e18 mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitsInfoBuilderSupport.java --- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitsInfoBuilderSupport.java Tue Jan 28 18:44:13 2014 +0100 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitsInfoBuilderSupport.java Tue Jan 28 18:44:27 2014 +0100 @@ -20,11 +20,13 @@ import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.HgVcsRoot; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.LogCommand; import jetbrains.buildServer.buildTriggers.vcs.mercurial.command.exception.WrongSubrepoUrlException; +import jetbrains.buildServer.dataStructures.MultiMapToList; import jetbrains.buildServer.vcs.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Date; +import java.util.Map; /** * Created 30.09.13 13:05 @@ -42,6 +44,15 @@ myHgVcsRootFactory = vcsRootFactory; } + @NotNull + private static MultiMapToList commitToBranchs(@NotNull final Map branchToCommit) { + final MultiMapToList map = new MultiMapToList(); + for (Map.Entry e : branchToCommit.entrySet()) { + map.add(e.getValue(), e.getKey()); + } + return map; + } + public void collectCommits(@NotNull final VcsRoot root, @NotNull final CheckoutRules rules, @NotNull final CommitsConsumer consumer) throws VcsException { @@ -50,7 +61,7 @@ final ServerHgRepo repo = mySupport.createRepo(hgRoot); mySupport.syncRepository(hgRoot); - + final MultiMapToList heads = commitToBranchs(mySupport.getCollectChangesPolicy().getHeads(hgRoot)); repo.logSubstates().call(new CommitsAndMountPointsCommand.Callback() { private final MercurialCommitsInfoBuilderStates subs = new MercurialCommitsInfoBuilderStates(); @@ -108,6 +119,8 @@ } } + bean.setHeads(heads.getValues(bean.getVersion())); + consumer.consumeCommit(bean); } });