# HG changeset patch # User Dmitry Neverov # Date 1411583930 -7200 # Node ID a6405f5aad54d2f97332a18bef5fdd040b3bf662 # Parent 8b0a27214abfca7678fe510bf770795cc9607e55 TW-19916 more support for custom mercurial config diff -r 8b0a27214abf -r a6405f5aad54 mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CheckoutRepository.java --- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CheckoutRepository.java Wed Sep 24 19:58:13 2014 +0200 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/CheckoutRepository.java Wed Sep 24 20:38:50 2014 +0200 @@ -93,17 +93,13 @@ String rev = updateMirror(root, revision); String mirrorUrl = getMirrorUrl(root); - if (repo.isValidRepository()) { - repo.pull().fromRepository(mirrorUrl) - .withTimeout(myPullTimeout) - .call(); - } else { - repo.doClone().fromRepository(mirrorUrl) - .setUpdateWorkingDir(false) - .call(); - - repo.setDefaultPath(root.getRepository()); - } + if (!repo.isValidRepository()) + repo.init().call(); + repo.pull().fromRepository(mirrorUrl) + .withTimeout(myPullTimeout) + .call(); + repo.setDefaultPath(root.getRepository()); + repo.setTeamCityConfig(root.getCustomHgConfig()); return rev; } @@ -176,17 +172,14 @@ return revision; } - if (repo.isValidRepository()) { - repo.pull().fromRepository(root.getRepository()) - .withTimeout(myPullTimeout) - .call(); - } else { - repo.doClone().fromRepository(root.getRepository()) - .setUpdateWorkingDir(false) - .useUncompressedTransfer(root.isUncompressedTransfer()) - .call(); - repo.setDefaultPath(root.getRepository()); - } + if (!repo.isValidRepository()) + repo.init().call(); + + repo.pull().fromRepository(root.getRepository()) + .withTimeout(myPullTimeout) + .call(); + repo.setDefaultPath(root.getRepository()); + repo.setTeamCityConfig(root.getCustomHgConfig()); if (revision != null) return revision; diff -r 8b0a27214abf -r a6405f5aad54 mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java --- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Wed Sep 24 19:58:13 2014 +0200 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Wed Sep 24 20:38:50 2014 +0200 @@ -384,12 +384,10 @@ Loggers.VCS.debug("Repository '" + root.getRepository() + "' has subrepos at revision " + toVer.getId() + ", use 'hg clone' to build clean patch"); final File mirrorDir = getWorkingDir(root); final HgRepo cloneOfTheMirror = createRepo(root, tempDir); - cloneOfTheMirror.doClone().fromRepository(mirrorDir) - .setUpdateWorkingDir(false) - .setUsePullProtocol(false) - .useUncompressedTransfer(false) - .call(); + cloneOfTheMirror.init().call(); cloneOfTheMirror.setDefaultPath(root.getRepository()); + cloneOfTheMirror.setTeamCityConfig(root.getCustomHgConfig()); + cloneOfTheMirror.pull().fromRepository(mirrorDir).call(); cloneSubrepos(root, tempDir, subrepos); cloneOfTheMirror.update().toRevision(toVer).call(); buildPatchFromDirectory(builder, tempDir, checkoutRules, myIgnoreDotHgFilter); @@ -437,13 +435,10 @@ File subrepoMirrorDir = getWorkingDir(subrepoRoot); File subrepoDir = new File(mainRootDir, path); HgRepo cloneOfSubrepoMirror = createRepo(subrepoRoot, subrepoDir); - cloneOfSubrepoMirror.doClone().fromRepository(subrepoMirrorDir) - .setUpdateWorkingDir(false) - .setUsePullProtocol(false) - .useUncompressedTransfer(false) - .call(); + cloneOfSubrepoMirror.init().call(); cloneOfSubrepoMirror.setDefaultPath(subrepoUrl); - + cloneOfSubrepoMirror.setTeamCityConfig(mainRoot.getCustomHgConfig()); + cloneOfSubrepoMirror.pull().fromRepository(subrepoMirrorDir).call(); Map subSubrepos = subrepo.getSubrepositories(subrepoConfig.revision()); if (!subSubrepos.isEmpty()) cloneSubrepos(subrepoRoot, subrepoDir, subSubrepos);