Mercurial > hg > mercurial
changeset 941:3a0adb764580
TW-19761 more correct unsupported include rules detection
author | Dmitry Neverov <dmitry.neverov@gmail.com> |
---|---|
date | Thu, 10 Dec 2015 17:35:28 +0100 |
parents | 9ad288b299ea |
children | 944ccd758a6f |
files | mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/AgentSideCheckoutTest.java |
diffstat | 2 files changed, 12 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java Thu Dec 10 17:34:02 2015 +0100 +++ b/mercurial-agent/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialIncludeRuleUpdater.java Thu Dec 10 17:35:28 2015 +0100 @@ -270,10 +270,8 @@ public static void checkRuleIsValid(IncludeRule includeRule) throws VcsException { - if (includeRule.getTo() != null && includeRule.getTo().length() > 0) { - if (!".".equals(includeRule.getFrom()) && includeRule.getFrom().length() != 0) - throw new VcsException("Invalid include rule: " + includeRule.toString() + ", Mercurial plugin supports mapping of the form: +:.=>dir only."); - } + if (!".".equals(includeRule.getFrom()) && includeRule.getFrom().length() != 0) + throw new VcsException("Invalid include rule: " + includeRule.toString() + ", Mercurial plugin supports mapping of the form: +:.=>dir only."); }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/AgentSideCheckoutTest.java Thu Dec 10 17:34:02 2015 +0100 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/AgentSideCheckoutTest.java Thu Dec 10 17:35:28 2015 +0100 @@ -126,6 +126,16 @@ testUpdate(createVcsRoot(simpleRepo()), "4:b06a290a363b", "cleanPatch1/after", new IncludeRule("+:.", "subdir", null)); } + @TestFor(issues = "TW-19761") + public void include_subdir_is_not_supported() throws Exception { + try { + testUpdate(createVcsRoot(simpleRepo()), "4:b06a290a363b", "cleanPatch1/after", new IncludeRule("+:subdir", ".", null)); + fail("should fail"); + } catch (VcsException e) { + assertTrue(e.getMessage().contains("Invalid include rule")); + } + } + private void testUpdate(final VcsRoot vcsRoot, String version, String expected, final IncludeRule includeRule) throws VcsException, IOException { File workDir = doUpdate(vcsRoot, version, includeRule);