You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2012/02/06 21:05:54 UTC
svn commit: r1241140 - in
/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src:
main/java/org/apache/maven/scm/provider/hg/HgUtils.java
test/java/org/apache/maven/scm/provider/hg/HgUtilsTest.java
Author: rfscholte
Date: Mon Feb 6 20:05:54 2012
New Revision: 1241140
URL: http://svn.apache.org/viewvc?rev=1241140&view=rev
Log:
Fix SCM-641 for HG: NPE when workingDirectory is null
Added:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgUtilsTest.java
Modified:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java?rev=1241140&r1=1241139&r2=1241140&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/HgUtils.java Mon Feb 6 20:05:54 2012
@@ -146,16 +146,19 @@ public final class HgUtils
{
Commandline cmd = new Commandline();
cmd.setExecutable( HgCommandConstants.EXEC );
- cmd.setWorkingDirectory( workingDir.getAbsolutePath() );
cmd.addArguments( cmdAndArgs );
-
- if ( !workingDir.exists() )
+ if ( workingDir != null )
{
- boolean success = workingDir.mkdirs();
- if ( !success )
+ cmd.setWorkingDirectory( workingDir.getAbsolutePath() );
+
+ if ( !workingDir.exists() )
{
- String msg = "Working directory did not exist" + " and it couldn't be created: " + workingDir;
- throw new ScmException( msg );
+ boolean success = workingDir.mkdirs();
+ if ( !success )
+ {
+ String msg = "Working directory did not exist" + " and it couldn't be created: " + workingDir;
+ throw new ScmException( msg );
+ }
}
}
return cmd;
@@ -195,7 +198,7 @@ public final class HgUtils
int i = 0;
for ( Iterator<File> iterator = filesList.iterator(); iterator.hasNext(); i++ )
{
- File scmFile = (File) iterator.next();
+ File scmFile = iterator.next();
String file = scmFile.getPath().replace( '\\', File.separatorChar );
cmd[i + cmdAndArgs.length] = file;
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgUtilsTest.java?rev=1241140&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgUtilsTest.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/test/java/org/apache/maven/scm/provider/hg/HgUtilsTest.java Mon Feb 6 20:05:54 2012
@@ -0,0 +1,17 @@
+package org.apache.maven.scm.provider.hg;
+
+import static org.junit.Assert.*;
+import org.codehaus.plexus.util.cli.Commandline;
+import org.junit.Test;
+
+public class HgUtilsTest
+{
+
+ @Test
+ public void testNullWorkingDirectory()
+ throws Exception
+ {
+ Commandline cmd = HgUtils.buildCmd( null, new String[] {} );
+ assertEquals( null, cmd.getWorkingDirectory() );
+ }
+}
\ No newline at end of file