Mercurial > hg > mercurial
changeset 381:44a16c27bed6
Handle changes in ExecResult api
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Wed, 15 Feb 2012 15:48:32 +0400 |
parents | 3bc8125671b8 |
children | 01f8d8c216b2 |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialCommandLine.java |
diffstat | 3 files changed, 15 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java Wed Feb 15 13:23:53 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommandResult.java Wed Feb 15 15:48:32 2012 +0400 @@ -161,8 +161,4 @@ } } } - - public byte[] getByteOut() { - return myDelegate.getByteOut(); - } }
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java Wed Feb 15 13:23:53 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/LogCommand.java Wed Feb 15 15:48:32 2012 +0400 @@ -25,7 +25,7 @@ import java.io.File; import java.io.IOException; -import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; @@ -75,6 +75,7 @@ public List<ChangeSet> execute() throws VcsException { GeneralCommandLine cli = createCommandLine(); + cli.setCharset(Charset.forName("UTF-8")); cli.addParameters("--encoding", "UTF-8"); cli.addParameter("log"); cli.addParameter("-v"); @@ -97,7 +98,7 @@ } CommandResult res = runCommand(cli); - String output = getStdout(res); + String output = res.getStdout(); try { List<ChangeSet> changes = parseChangeSetsXml(output); if (myCalculateParents) @@ -108,15 +109,6 @@ } } - private String getStdout(CommandResult res) throws VcsException { - try { - return new String(res.getByteOut(), "UTF-8"); - } catch (UnsupportedEncodingException e) { - throw new VcsException("Error while reading output", e); - } - } - - private List<ChangeSet> parseChangeSetsXml(@NotNull final String xml) throws JDOMException, IOException, ParseException { if ("".equals(xml)) return Collections.emptyList();
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialCommandLine.java Wed Feb 15 13:23:53 2012 +0400 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/MercurialCommandLine.java Wed Feb 15 15:48:32 2012 +0400 @@ -4,12 +4,14 @@ import jetbrains.buildServer.util.StringUtil; import org.jetbrains.annotations.NotNull; +import java.nio.charset.Charset; import java.util.Collections; import java.util.Set; public class MercurialCommandLine extends GeneralCommandLine { private final Set<String> myPrivateData; + private Charset myCharset; public MercurialCommandLine() { this(Collections.<String>emptySet()); @@ -31,6 +33,16 @@ super.addParameter(escaped); } + @Override + public void setCharset(@NotNull Charset charset) { + myCharset = charset; + } + + @Override + public Charset getCharset() { + return myCharset != null ? myCharset : super.getCharset(); + } + private String escape(String s) { return StringUtil.escapeQuotesIfWindows(s); }