Mercurial > hg > mercurial
changeset 862:24a6ef9166ae
UP-1866 disable patterns in hg archive include rules
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ArchiveCommand.java Mon Aug 25 16:28:24 2014 +0200 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ArchiveCommand.java Mon Aug 25 19:22:39 2014 +0200 @@ -65,15 +65,16 @@ return this; } - public boolean addIncludeRule(@NotNull final String rule) { + public boolean addIncludePathRule(@NotNull String rule) { final MercurialCommandLine cmd = createCmd(); + String pathRule = "path:" + rule; final int cmdSize = cmd.getCommandLineLength(); - if (cmdSize + rule.length() + 3 + (myIncludeRules.isEmpty() ? 0 : "-I ".length()) > myCommandSettings.getMaxCommandLineSize()) { + if (cmdSize + pathRule.length() + 3 + (myIncludeRules.isEmpty() ? 0 : "-I ".length()) > myCommandSettings.getMaxCommandLineSize()) { return false; } - myIncludeRules.add(rule); + myIncludeRules.add(pathRule); return true; }
--- a/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Mon Aug 25 16:28:24 2014 +0200 +++ b/mercurial-server/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupport.java Mon Aug 25 19:22:39 2014 +0200 @@ -282,7 +282,7 @@ i++; continue; } - if (archive.addIncludeRule(notDeletedFiles.get(i))) { + if (archive.addIncludePathRule(/*"path:" + */notDeletedFiles.get(i))) { i++; continue; }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java Mon Aug 25 16:28:24 2014 +0200 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialVcsSupportTest.java Mon Aug 25 19:22:39 2014 +0200 @@ -356,6 +356,16 @@ } + @TestFor(issues = "UP-1866") + public void incremental_patch_with_spec_symbols_in_paths() throws Exception { + setName("fileNameSymbolsIncrementalPatch"); + File remoteRepo = copyRepository(myTempFiles, new File("mercurial-tests/testData/fileNameSymbols").getAbsolutePath()); + VcsRoot root = vcsRoot().withUrl(remoteRepo.getAbsolutePath()).withArchiveForPatch(true).build(); + ByteArrayOutputStream output = buildPatch(myVcs, root, "cc8c19c8f8ee", "120549be17e9", CheckoutRules.DEFAULT); + checkPatchResult(output.toByteArray()); + } + + public void clean_patch_from_archive() throws Exception { setName("patch3"); File repository = copyRepository(myTempFiles, simpleRepo());
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/README Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,2 @@ +1:120549be17e9 add ${ok}/1 +0:cc8c19c8f8ee add a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/branch Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,1 @@ +default
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/cache/branchheads-served Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,2 @@ +120549be17e9b5faef278b2948fd65ca35ab7fee 1 +120549be17e9b5faef278b2948fd65ca35ab7fee default
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/last-message.txt Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,1 @@ +add ${ok}/1 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/requires Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,3 @@ +revlogv1 +store +fncache
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/store/fncache Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,2 @@ +data/${ok}/1.i +data/a.i
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/store/phaseroots Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,1 @@ +1 cc8c19c8f8ee4d2bd503dd0e42af5b240a7e6a24
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/store/undo.phaseroots Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,1 @@ +1 cc8c19c8f8ee4d2bd503dd0e42af5b240a7e6a24
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/tags.cache Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,2 @@ +0 cc8c19c8f8ee4d2bd503dd0e42af5b240a7e6a24 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mercurial-tests/testData/fileNameSymbols/hg/undo.branch Mon Aug 25 19:22:39 2014 +0200 @@ -0,0 +1,1 @@ +default \ No newline at end of file