Mercurial > hg > mercurial
view mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitsInfoBuilderStates.java @ 729:785ab04c78da
implement new graph construction code
author | eugene.petrenko@jetbrains.com |
---|---|
date | Mon, 13 Jan 2014 20:29:59 +0100 |
parents | |
children | 31a1aca3305c |
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.Collections; import java.util.HashMap; import java.util.Map; /** * Created 13.01.14 19:45 * * @author Eugene Petrenko (eugene.petrenko@jetbrains.com) */ public class MercurialCommitsInfoBuilderStates { private final Map<String, String> myHgStateNodes = new HashMap<String, String>(); private final Map<String, String> myHgSubNodes = new HashMap<String, String>(); public void addSubNode(@NotNull final String hash, @NotNull final String text) { myHgSubNodes.put(hash, text); } public void addStateNode(@NotNull final String hash, @NotNull final String text) { myHgStateNodes.put(hash, text); } @NotNull public Map<String, SubRepo> mounts(@Nullable final String subHash, @Nullable final String stateHash) { if (subHash == null || stateHash == null) return Collections.emptyMap(); //TODO: may cache parsed contents to make it work faster return HgSubs.readSubrepositories( myHgSubNodes.get(subHash), myHgStateNodes.get(stateHash)); } }