[SCM-834] Commit encoding is platform-dependent instead of UTF-8
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
index d970485..ba467f6 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommand.java
@@ -73,7 +73,7 @@
File messageFile = FileUtils.createTempFile( "maven-scm-", ".commit", null );
try
{
- FileUtils.fileWrite( messageFile.getAbsolutePath(), message );
+ FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", message );
}
catch ( IOException ex )
{
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
index 068ec3e..9609124 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/tag/GitTagCommand.java
@@ -77,7 +77,7 @@
try
{
- FileUtils.fileWrite( messageFile.getAbsolutePath(), scmTagParameters.getMessage() );
+ FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", scmTagParameters.getMessage() );
}
catch ( IOException ex )
{
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java
index 59f52d3..b5c78a4 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnBranchCommand.java
@@ -77,7 +77,7 @@
try
{
- FileUtils.fileWrite( messageFile.getAbsolutePath(), scmBranchParameters.getMessage() );
+ FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", scmBranchParameters.getMessage() );
}
catch ( IOException ex )
{
@@ -187,6 +187,10 @@
cl.createArg().setValue( messageFile.getAbsolutePath() );
+ cl.createArg().setValue( "--encoding" );
+
+ cl.createArg().setValue( "UTF-8" );
+
if ( scmBranchParameters != null && scmBranchParameters.isPinExternals() )
{
cl.createArg().setValue( "--pin-externals" );
@@ -210,5 +214,5 @@
cl.createArg().setValue( SvnCommandUtils.fixUrl( branchUrl, repository.getUser() ) );
return cl;
- }
+ }
}
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java
index 38ff8c2..3a0adce 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommand.java
@@ -61,7 +61,7 @@
try
{
- FileUtils.fileWrite( messageFile.getAbsolutePath(), message );
+ FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", message );
}
catch ( IOException ex )
{
@@ -132,6 +132,10 @@
cl.createArg().setValue( messageFile.getAbsolutePath() );
+ cl.createArg().setValue( "--encoding" );
+
+ cl.createArg().setValue( "UTF-8" );
+
try
{
SvnCommandLineUtils.addTarget( cl, fileSet.getFileList() );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java
index 6e6e313..0f10d26 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommand.java
@@ -57,7 +57,7 @@
try
{
- FileUtils.fileWrite( messageFile.getAbsolutePath(), message );
+ FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", message );
}
catch ( IOException ex )
{
@@ -138,7 +138,7 @@
Iterator<File> it = fileSet.getFileList().iterator();
String dirPath = it.next().getPath();
// replacing \ with / for windauze
- if ( dirPath != null && Os.isFamily( Os.FAMILY_DOS ) )
+ if ( dirPath != null && Os.isFamily( Os.FAMILY_WINDOWS ) )
{
dirPath = StringUtils.replace( dirPath, "\\", "/" );
}
@@ -151,6 +151,9 @@
{
cl.createArg().setValue( "--file" );
cl.createArg().setValue( messageFile.getAbsolutePath() );
+
+ cl.createArg().setValue( "--encoding" );
+ cl.createArg().setValue( "UTF-8" );
}
}
else
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
index b3f6005..0e96e97 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/main/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnTagCommand.java
@@ -103,7 +103,7 @@
try
{
- FileUtils.fileWrite( messageFile.getAbsolutePath(), scmTagParameters.getMessage() );
+ FileUtils.fileWrite( messageFile.getAbsolutePath(), "UTF-8", scmTagParameters.getMessage() );
}
catch ( IOException ex )
{
@@ -240,6 +240,10 @@
cl.createArg().setValue( messageFile.getAbsolutePath() );
+ cl.createArg().setValue( "--encoding" );
+
+ cl.createArg().setValue( "UTF-8" );
+
cl.createArg().setValue( "--parents" );
if ( scmTagParameters != null && scmTagParameters.getScmRevision() != null )
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java
index 0cc7dd4..5b73ef3 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/branch/SvnExeBranchCommandTckTest.java
@@ -50,7 +50,7 @@
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath()
- + " --revision 2 https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch",
+ + " --encoding UTF-8 --revision 2 https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch",
scmBranchParameters );
}
@@ -67,7 +67,7 @@
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath()
- + " --pin-externals --revision 2 https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch",
+ + " --encoding UTF-8 --pin-externals --revision 2 https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch",
scmBranchParameters );
}
@@ -83,7 +83,7 @@
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath()
- + " https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch", scmBranchParameters );
+ + " --encoding UTF-8 https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch", scmBranchParameters );
}
public void testBranchUserNameSvnHttpsRemoteBranchingNoRevWithPinExternals()
@@ -98,7 +98,7 @@
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath()
- + " --pin-externals https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch", scmBranchParameters );
+ + " --encoding UTF-8 --pin-externals https://foo.com/svn/trunk https://foo.com/svn/branches/svnbranch", scmBranchParameters );
}
public void testBranchUserNameSvnHttps()
@@ -109,7 +109,7 @@
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svnbranch", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath()
- + " . https://foo.com/svn/branches/svnbranch", null );
+ + " --encoding UTF-8 . https://foo.com/svn/branches/svnbranch", null );
}
public void testBranchUserNameSvnSsh()
@@ -120,7 +120,7 @@
testCommandLine( "scm:svn:svn+ssh://foo.com/svn/trunk", "svnbranch", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --parents --file " + messageFile.getAbsolutePath()
- + " . svn+ssh://user@foo.com/svn/branches/svnbranch" );
+ + " --encoding UTF-8 . svn+ssh://user@foo.com/svn/branches/svnbranch" );
}
private void testCommandLine( String scmUrl, String branch, File messageFile, String user, String commandLine,
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java
index bae43fa..30d1107 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/checkin/SvnCheckInCommandTest.java
@@ -51,7 +51,7 @@
{
path = "\"" + path + "\"";
}
- messageFileString = "--file " + path;
+ messageFileString = "--file " + path + " --encoding UTF-8";
}
public void testCommandLineWithEmptyTag()
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java
index 85828c8..dd124ec 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/mkdir/SvnMkdirCommandTest.java
@@ -46,21 +46,21 @@
messageFile = new File( "mkdir-message" );
- String path = messageFile.getAbsolutePath();
+ String path = messageFile.getAbsolutePath();
FileUtils.fileWrite( path, "create missing directory" );
-
+
if ( path.indexOf( ' ' ) >= 0 )
{
path = "\"" + path + "\"";
}
- messageFileString = "--file " + path;
+ messageFileString = "--file " + path + " --encoding UTF-8";
}
-
+
protected void tearDown()
throws Exception
{
assertTrue( messageFile.delete() );
-
+
super.tearDown();
}
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java
index a05aea0..154e7de 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/src/test/java/org/apache/maven/scm/provider/svn/svnexe/command/tag/SvnExeTagCommandTckTest.java
@@ -44,7 +44,7 @@
testCommandLine( "scm:svn:svn+ssh://foo.com/svn/trunk", "svntag", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath() +
- " --parents . svn+ssh://user@foo.com/svn/tags/svntag", null );
+ " --encoding UTF-8 --parents . svn+ssh://user@foo.com/svn/tags/svntag", null );
}
public void testTagRemoteTagHttps()
@@ -58,7 +58,7 @@
scmTagParameters.setPinExternals( false );
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath()
- + " --parents https://foo.com/svn/trunk https://foo.com/svn/tags/svntag", scmTagParameters );
+ + " --encoding UTF-8 --parents https://foo.com/svn/trunk https://foo.com/svn/tags/svntag", scmTagParameters );
}
public void testTagRemoteTagHttpsWithPinExternals()
@@ -72,7 +72,7 @@
scmTagParameters.setPinExternals( true );
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath()
- + " --parents --pin-externals https://foo.com/svn/trunk https://foo.com/svn/tags/svntag", scmTagParameters );
+ + " --encoding UTF-8 --parents --pin-externals https://foo.com/svn/trunk https://foo.com/svn/tags/svntag", scmTagParameters );
}
public void testTagRemoteTagHttpsWithRevision()
@@ -87,7 +87,7 @@
scmTagParameters.setScmRevision( "12" );
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath()
- + " --parents --revision 12 https://foo.com/svn/trunk https://foo.com/svn/tags/svntag",
+ + " --encoding UTF-8 --parents --revision 12 https://foo.com/svn/trunk https://foo.com/svn/tags/svntag",
scmTagParameters );
}
@@ -103,7 +103,7 @@
scmTagParameters.setScmRevision( "12" );
testCommandLine( "scm:svn:https://foo.com/svn/trunk", "svntag", messageFile, "user",
"svn --username user --no-auth-cache --non-interactive copy --file " + messageFile.getAbsolutePath()
- + " --parents --revision 12 --pin-externals https://foo.com/svn/trunk https://foo.com/svn/tags/svntag",
+ + " --encoding UTF-8 --parents --revision 12 --pin-externals https://foo.com/svn/trunk https://foo.com/svn/tags/svntag",
scmTagParameters );
}