Mercurial > hg > mercurial
changeset 908:b39494a5ff96
TW-39095 handle commit messages with non-ascii symbols
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Fri, 05 Dec 2014 14:59:15 +0100 |
parents | b467eb363d46 |
children | b2ecc56f456c c386464d3bdc |
files | mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommitCommand.java mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java |
diffstat | 2 files changed, 14 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommitCommand.java Wed Dec 03 18:58:09 2014 +0100 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommitCommand.java Fri Dec 05 14:59:15 2014 +0100 @@ -50,6 +50,7 @@ cmd.addParameters("-m", myCommitMessage); if (myUser != null) cmd.addParameters("--user", myUser); + cmd.addEnvParam("HGENCODING", "UTF-8"); CommandResult result = runCommand(cmd); return result.getExitCode(); }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java Wed Dec 03 18:58:09 2014 +0100 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java Fri Dec 05 14:59:15 2014 +0100 @@ -16,6 +16,7 @@ package jetbrains.buildServer.buildTriggers.vcs.mercurial; +import jetbrains.buildServer.util.TestFor; import jetbrains.buildServer.vcs.*; import org.jetbrains.annotations.NotNull; import org.testng.annotations.BeforeMethod; @@ -87,6 +88,18 @@ } + @TestFor(issues = "TW-39095") + public void commit_with_non_ascii_commit_message(@NotNull HgVersion _) throws Exception { + VcsRoot root = vcsRoot().withUrl(myRepo).build(); + String description = "Комит месадж"; + String author = "Joe Doe <joe@some.org>"; + CommitPatchBuilder patchBuilder = myCommitSupport.getCommitPatchBuilder(root); + patchBuilder.createFile("a/b/c", stream("test")); + patchBuilder.commit(new CommitSettingsImpl(author, description)); + patchBuilder.dispose(); + } + + @NotNull private InputStream stream(@NotNull String content) { return new ByteArrayInputStream(content.getBytes());