Mercurial > hg > mercurial
changeset 826:6f76b2e5afdc
add getCommandLineLength
author | eugene.petrenko@jetbrains.com |
---|---|
date | Fri, 30 May 2014 17:21:12 +0200 |
parents | 5fbc0d51bea3 |
children | 194c8f8d6e4c |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ArchiveCommand.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialCommandLine.java |
diffstat | 3 files changed, 31 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ArchiveCommand.java Fri May 30 12:16:35 2014 +0200 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/ArchiveCommand.java Fri May 30 17:21:12 2014 +0200 @@ -68,8 +68,8 @@ public boolean addIncludeRule(@NotNull final String rule) { final MercurialCommandLine cmd = createCmd(); - final int cmdSize = cmd.getCommandLineString().length(); - if (cmdSize + rule.length() + 2 + (myIncludeRules.isEmpty() ? 0 : "-I ".length()) > getMaxCommandLineSize()) { + final int cmdSize = cmd.getCommandLineLength(); + if (cmdSize + rule.length() + 3 + (myIncludeRules.isEmpty() ? 0 : "-I ".length()) > getMaxCommandLineSize()) { return false; }
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java Fri May 30 12:16:35 2014 +0200 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CatCommand.java Fri May 30 17:21:12 2014 +0200 @@ -110,7 +110,7 @@ final Queue<String> paths = new LinkedList<String>(relPaths); while (!paths.isEmpty()) { MercurialCommandLine cli = createCommandLine(tempDir); - int cmdSize = cli.getCommandLineString().length() + 42; + int cmdSize = cli.getCommandLineLength() + 42; do { String path = paths.poll();
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialCommandLine.java Fri May 30 12:16:35 2014 +0200 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialCommandLine.java Fri May 30 17:21:12 2014 +0200 @@ -38,15 +38,41 @@ } @NotNull + public MercurialCommandLine forkWithoutCommandlineArguments() { + final MercurialCommandLine fork = fork(); + fork.myArguments.clear(); + return fork; + } + + @NotNull + public MercurialCommandLine fork() { + final MercurialCommandLine line = new MercurialCommandLine(myPrivateData); + line.myExePath = myExePath; + line.myArguments.addAll(myArguments); + line.myEnvPatch.putAll(myEnvPatch); + line.myWorkingDirectory = myWorkingDirectory; + line.myCharset = myCharset; + return line; + } + + public int getCommandLineLength() { + return getCommandLineString().length() + 42; + } + + @NotNull public String getCommandLineString() { - String original = toGeneralCommandLine().getCommandLineString(); - return CommandUtil.removePrivateData(original, myPrivateData); + return toGeneralCommandLine().getCommandLineString(); } public void setExePath(@NotNull final String hgPath) { myExePath = hgPath; } + @NotNull + public List<String> getArguments() { + return new ArrayList<String>(myArguments); + } + public void addParameter(@NotNull final String parameter) { String escaped = escape(parameter); myArguments.add(escaped);