Mercurial > hg > mercurial
changeset 926:06ecc863293a Hajipur-9.0.x
More robust commit
If commit message cannot be encoded in utf-8, replace non-encoded characters
author | Dmitry Neverov <dmitry.neverov@jetbrains.com> |
---|---|
date | Mon, 16 Feb 2015 12:21:36 +0100 |
parents | ef9d14cbca44 |
children | 9291f2627c2a cccd4e722ca4 |
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(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommitCommand.java Wed Feb 11 14:18:51 2015 +0100 +++ b/mercurial-common/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/command/CommitCommand.java Mon Feb 16 12:21:36 2015 +0100 @@ -51,6 +51,7 @@ if (myUser != null) cmd.addParameters("--user", myUser); cmd.addEnvParam("HGENCODING", "UTF-8"); + cmd.addEnvParam("HGENCODINGMODE", "replace"); CommandResult result = runCommand(cmd); return result.getExitCode(); }
--- a/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java Wed Feb 11 14:18:51 2015 +0100 +++ b/mercurial-tests/src/jetbrains/buildServer/buildTriggers/vcs/mercurial/MercurialCommitSupportTest.java Mon Feb 16 12:21:36 2015 +0100 @@ -26,6 +26,7 @@ import java.io.ByteArrayInputStream; import java.io.File; +import java.io.IOException; import java.io.InputStream; import java.util.List; @@ -95,13 +96,9 @@ @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(); + for (String msg : new String[] {"Комит месадж", "Über Alles"}) { + commit(msg); + } } @@ -166,4 +163,13 @@ return myDescription; } } + + private void commit(String description) throws IOException, VcsException { + VcsRoot root = vcsRoot().withUrl(myRepo).build(); + 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(); + } }