Mercurial > hg > mercurial
view mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/VcsRootBuilder.java @ 276:8c10f5cec37d
TW-17797 Fix merge-base calculation
Add MergeBaseCommand and 2 its implementations. Implementation for hg
1.7+ uses revsets to get last common ancestors. Implementation for hg
<1.7 calculates merge-base manually using information about parents.
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Thu, 04 Aug 2011 12:04:38 +0400 |
parents | 13f3e7d0c42c |
children | 8c1fd2e565ae |
line wrap: on
line source
package jetbrains.buildServer.buildTriggers.vcs.mercurial; import jetbrains.buildServer.vcs.impl.VcsRootImpl; import org.jetbrains.annotations.NotNull; import java.io.IOException; /** * @author dmitry.neverov */ public class VcsRootBuilder { private String myRepository; private String myUsername; private String myPassword; private String myBranch; private long myRootId = 1L; public VcsRootImpl build() throws IOException { VcsRootImpl vcsRoot = new VcsRootImpl(1, Constants.VCS_NAME); vcsRoot.addProperty(Constants.REPOSITORY_PROP, myRepository); vcsRoot.addProperty(Constants.HG_COMMAND_PATH_PROP, Util.getHgPath()); vcsRoot.addProperty(Constants.USERNAME, myUsername); vcsRoot.addProperty(Constants.PASSWORD, myPassword); vcsRoot.addProperty(Constants.BRANCH_NAME_PROP, myBranch); return vcsRoot; } public VcsRootBuilder repository(@NotNull String repository) { myRepository = repository; return this; } public VcsRootBuilder username(@NotNull String username) { myUsername = username; return this; } public VcsRootBuilder password(@NotNull String password) { myPassword = password; return this; } public VcsRootBuilder branch(@NotNull String branch) { myBranch = branch; return this; } public VcsRootBuilder rootId(long rootId) { myRootId = rootId; return this; } }