Mercurial > hg > mercurial
changeset 400:68cc614b191b Faradi-7.0.x
Do not support relative subrepos yet
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Fri, 02 Mar 2012 14:29:18 +0400 |
parents | 45f25ca68312 |
children | 998c38590166 68403caae808 |
files | mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java |
diffstat | 1 files changed, 22 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java Fri Mar 02 14:24:58 2012 +0400 +++ b/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java Fri Mar 02 14:29:18 2012 +0400 @@ -145,35 +145,35 @@ myLogger.message("The url of subrepo was changed between revisions " + workingDirRevision + " and " + toVersion + " , delete the subrepo"); delete(subrepo.dir()); } - String subrepoUrl = subrepo.url(); - if (subrepo.isRelative()) { - subrepoUrl = parentRepositoryUrl.endsWith("/") ? parentRepositoryUrl + subrepo.url() : parentRepositoryUrl + "/" + subrepo.url(); - } HgRepo subrepository = new HgRepo(subrepo.dir(), myHgPath, myAuthSettings); if (myUseLocalMirrors && subrepo.vcsType() == SubRepo.VcsType.hg) { - if (!subrepository.isValidRepository() || !subrepository.containsRevision(subrepo.revision())) { - updateLocalMirror(subrepoUrl, subrepo.revision()); - File mirrorDir = myMirrorManager.getMirrorDir(subrepoUrl); - if (subrepository.isValidRepository()) { - myLogger.message("Pull from local mirror"); - subrepository.pull().fromRepository(mirrorDir) - .withTimeout(myPullTimeout) - .call(); - myLogger.message("done"); - } else { - myLogger.message("Clone subrepo from local mirror"); - subrepository.doClone().fromRepository(mirrorDir) - .setUpdateWorkingDir(false) - .setUsePullProtocol(false) - .call(); - subrepository.setDefaultPath(subrepo.url()); - myLogger.message("done"); + if (subrepo.isRelative()) { + myLogger.message("Subrepo url " + subrepo.url() + " is relative, subrepo will be updated during parent repository update"); + } else { + if (!subrepository.isValidRepository() || !subrepository.containsRevision(subrepo.revision())) { + updateLocalMirror(subrepo.url(), subrepo.revision()); + File mirrorDir = myMirrorManager.getMirrorDir(subrepo.url()); + if (subrepository.isValidRepository()) { + myLogger.message("Pull from local mirror"); + subrepository.pull().fromRepository(mirrorDir) + .withTimeout(myPullTimeout) + .call(); + myLogger.message("done"); + } else { + myLogger.message("Clone subrepo from local mirror"); + subrepository.doClone().fromRepository(mirrorDir) + .setUpdateWorkingDir(false) + .setUsePullProtocol(false) + .call(); + subrepository.setDefaultPath(subrepo.url()); + myLogger.message("done"); + } } } } else { myLogger.message("Local mirrors aren't used, subrepo will be updated during the parent repo update"); } - updateSubrepositories(subrepository, subrepo.revision(), subrepoUrl); + updateSubrepositories(subrepository, subrepo.revision(), subrepo.url()); } }