summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2014-11-04 17:41:38 +0100
committerJulien HENRY <julien.henry@sonarsource.com>2014-11-04 17:49:36 +0100
commitec639b343471177f26296d8e25a7d37d7bed562d (patch)
tree5051c458ec38857b25edf1f08baa9b10ddb60bb1 /plugins
parent311df79780daa268bf6e3a2283a3f34bbfffa449 (diff)
downloadsonarqube-ec639b343471177f26296d8e25a7d37d7bed562d.tar.gz
sonarqube-ec639b343471177f26296d8e25a7d37d7bed562d.zip
SONAR-5643 Ignore whitespace differences in SVN blame like in Git
Diffstat (limited to 'plugins')
-rw-r--r--plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java4
-rw-r--r--plugins/sonar-svn-plugin/src/test/java/org/sonar/plugins/scm/svn/SvnBlameCommandTest.java14
2 files changed, 10 insertions, 8 deletions
diff --git a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java
index d34f1c26740..2e1038f162b 100644
--- a/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java
+++ b/plugins/sonar-svn-plugin/src/main/java/org/sonar/plugins/scm/svn/SvnBlameCommand.java
@@ -128,8 +128,9 @@ public class SvnBlameCommand extends BlameCommand {
cl.setDirectory(baseDir);
cl.addArgument("blame");
cl.addArgument("--xml");
- cl.addArgument(filename);
cl.addArgument("--non-interactive");
+ cl.addArgument("-x");
+ cl.addArgument("-w");
String configDir = configuration.configDir();
if (configDir != null) {
cl.addArgument("--config-dir");
@@ -148,6 +149,7 @@ public class SvnBlameCommand extends BlameCommand {
if (configuration.trustServerCert()) {
cl.addArgument("--trust-server-cert");
}
+ cl.addArgument(filename);
return cl;
}
}
diff --git a/plugins/sonar-svn-plugin/src/test/java/org/sonar/plugins/scm/svn/SvnBlameCommandTest.java b/plugins/sonar-svn-plugin/src/test/java/org/sonar/plugins/scm/svn/SvnBlameCommandTest.java
index b85b71d2fdb..6bc94b51ddd 100644
--- a/plugins/sonar-svn-plugin/src/test/java/org/sonar/plugins/scm/svn/SvnBlameCommandTest.java
+++ b/plugins/sonar-svn-plugin/src/test/java/org/sonar/plugins/scm/svn/SvnBlameCommandTest.java
@@ -191,7 +191,7 @@ public class SvnBlameCommandTest {
});
thrown.expect(IllegalStateException.class);
- thrown.expectMessage("The svn blame command [svn blame --xml src/foo.xoo --non-interactive] failed: My error");
+ thrown.expectMessage("The svn blame command [svn blame --xml --non-interactive -x -w src/foo.xoo] failed: My error");
when(input.filesToBlame()).thenReturn(Arrays.<InputFile>asList(inputFile));
new SvnBlameCommand(commandExecutor, mock(SvnConfiguration.class)).blame(input, result);
@@ -204,21 +204,21 @@ public class SvnBlameCommandTest {
SvnBlameCommand svnBlameCommand = new SvnBlameCommand(commandExecutor, new SvnConfiguration(settings));
Command commandLine = svnBlameCommand.createCommandLine(baseDir, "src/main/java/Foo.java");
- assertThat(commandLine.toCommandLine()).isEqualTo("svn blame --xml src/main/java/Foo.java --non-interactive");
- assertThat(commandLine.toString()).isEqualTo("svn blame --xml src/main/java/Foo.java --non-interactive");
+ assertThat(commandLine.toCommandLine()).isEqualTo("svn blame --xml --non-interactive -x -w src/main/java/Foo.java");
+ assertThat(commandLine.toString()).isEqualTo("svn blame --xml --non-interactive -x -w src/main/java/Foo.java");
settings.setProperty(SvnConfiguration.USER_PROP_KEY, "myUser");
settings.setProperty(SvnConfiguration.PASSWORD_PROP_KEY, "myPass");
commandLine = svnBlameCommand.createCommandLine(baseDir, "src/main/java/Foo.java");
- assertThat(commandLine.toCommandLine()).isEqualTo("svn blame --xml src/main/java/Foo.java --non-interactive --username myUser --password myPass");
- assertThat(commandLine.toString()).isEqualTo("svn blame --xml src/main/java/Foo.java --non-interactive --username ******** --password ********");
+ assertThat(commandLine.toCommandLine()).isEqualTo("svn blame --xml --non-interactive -x -w --username myUser --password myPass src/main/java/Foo.java");
+ assertThat(commandLine.toString()).isEqualTo("svn blame --xml --non-interactive -x -w --username ******** --password ******** src/main/java/Foo.java");
settings.setProperty(SvnConfiguration.CONFIG_DIR_PROP_KEY, "/home/julien/.svn");
settings.setProperty(SvnConfiguration.TRUST_SERVER_PROP_KEY, "true");
commandLine = svnBlameCommand.createCommandLine(baseDir, "src/main/java/Foo.java");
assertThat(commandLine.toCommandLine())
- .isEqualTo("svn blame --xml src/main/java/Foo.java --non-interactive --config-dir /home/julien/.svn --username myUser --password myPass --trust-server-cert");
+ .isEqualTo("svn blame --xml --non-interactive -x -w --config-dir /home/julien/.svn --username myUser --password myPass --trust-server-cert src/main/java/Foo.java");
assertThat(commandLine.toString()).isEqualTo(
- "svn blame --xml src/main/java/Foo.java --non-interactive --config-dir /home/julien/.svn --username ******** --password ******** --trust-server-cert");
+ "svn blame --xml --non-interactive -x -w --config-dir /home/julien/.svn --username ******** --password ******** --trust-server-cert src/main/java/Foo.java");
}
}