[SCM-892] URLs aren't set where URLs are expected
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java
index a5400ab..2efe755 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-git-commons/src/test/java/org/apache/maven/scm/provider/git/repository/GitScmProviderRepositoryTest.java
@@ -109,6 +109,7 @@
public void testLegalFileWindowsURL()
throws Exception
{
+ // FIXME This URL is invalid, hell knows why Git accepts it. It should be by us right away
testUrl( "scm:git:file://c:\\tmp\\repo", null, "file://c:\\tmp\\repo", null, null, null, null, 0, null);
}
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
index 596177a..2096cad 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/GitExeScmProvider.java
@@ -141,7 +141,8 @@
// Note: I need to supply just 1 absolute path, but ScmFileSet won't let me without
// a basedir (which isn't used here anyway), so use a dummy file.
// and a dummy ScmProviderRepository
- InfoScmResult result = info( new GitScmProviderRepository( path.getPath() ), new ScmFileSet( path ), null );
+ InfoScmResult result = info( new GitScmProviderRepository( path.toPath().toUri().toASCIIString() ),
+ new ScmFileSet( path ), null );
if ( result.getInfoItems().size() != 1 )
{
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/info/GitInfoConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoConsumer.java
index 3ef1cc3..3b236eb 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoConsumer.java
@@ -47,7 +47,7 @@
super( logger );
this.scmFileSet = scmFileSet;
}
-
+
/**
* @see org.codehaus.plexus.util.cli.StreamConsumer#consumeLine(java.lang.String)
*/
@@ -57,14 +57,14 @@
{
getLogger().debug( "consume line " + line );
}
-
+
if ( infoItems.isEmpty() )
{
if ( !StringUtils.isEmpty( line ) )
{
InfoItem infoItem = new InfoItem();
infoItem.setRevision( StringUtils.trim( line ) );
- infoItem.setURL( scmFileSet.getBasedir().getPath() );
+ infoItem.setURL( scmFileSet.getBasedir().toPath().toUri().toASCIIString() );
infoItems.add( infoItem );
}
}
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java
index e73e163..65ce12a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandNoBranchTest.java
@@ -61,7 +61,8 @@
FileUtils.deleteDirectory( repo );
FileUtils.copyDirectoryStructure( repo_orig, repo );
- ScmRepository scmRepository = getScmManager().makeScmRepository( "scm:git:file:///" + repo.getAbsolutePath() );
+ ScmRepository scmRepository = getScmManager().makeScmRepository(
+ "scm:git:" + repo.toPath().toAbsolutePath().toUri().toASCIIString() );
CheckOutScmResult checkOutScmResult = checkoutRepo( scmRepository );
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
index 3221fc6..d30e4b1 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkin/GitCheckInCommandTest.java
@@ -65,7 +65,7 @@
{
if ( GitUtil.getSettings().isCommitNoVerify() )
{
- testCommandLine( "scm:git:http://foo.com/git/trunk", "git commit --verbose " + messageFileString + " -a" + " --no-verify" );
+ testCommandLine( "scm:git:http://foo.com/git/trunk", "git commit --verbose " + messageFileString + " -a" + " --no-verify" );
}
else
{
@@ -95,18 +95,19 @@
GitScmTestUtils.initRepo("src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory());
- ScmRepository scmRepository = getScmManager().makeScmRepository( "scm:git:file://" + repo.getAbsolutePath() );
+ ScmRepository scmRepository = getScmManager().makeScmRepository(
+ "scm:git:" + repo.toPath().toAbsolutePath().toUri().toASCIIString() );
checkoutRepoInto(checkedOutRepo, scmRepository);
// Add a default user to the config
GitScmTestUtils.setDefaultUser( checkedOutRepo );
// Creating foo/bar/wine.xml
- File fooDir = new File( checkedOutRepo.getAbsolutePath() + File.separator + "foo" );
+ File fooDir = new File( checkedOutRepo.getAbsolutePath(), "foo" );
fooDir.mkdir();
- File barDir = new File(fooDir.getAbsolutePath() + File.separator + "bar");
+ File barDir = new File(fooDir.getAbsolutePath(), "bar");
barDir.mkdir();
- File wineFile = new File(barDir.getAbsolutePath() + File.separator + "wine.xml");
+ File wineFile = new File(barDir.getAbsolutePath(), "wine.xml");
FileUtils.fileWrite( wineFile.getAbsolutePath(), "Lacoste castle" );
// Adding and commiting file
@@ -116,9 +117,9 @@
assertResultIsSuccess( checkInScmResult );
// Cloning foo/bar/wine.xml to foo/newbar/wine.xml
- File newBarDir = new File(fooDir.getAbsolutePath() + File.separator + "newbar");
+ File newBarDir = new File(fooDir.getAbsolutePath(), "newbar");
newBarDir.mkdir();
- File movedWineFile = new File(newBarDir.getAbsolutePath() + File.separator + "wine.xml");
+ File movedWineFile = new File(newBarDir.getAbsolutePath(), "wine.xml");
FileUtils.copyFile(wineFile, movedWineFile);
// Removing old file, adding new file and commiting...
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java
index 0d1c959..b0ae87a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/checkout/GitExeCheckOutCommandNoBranchTest.java
@@ -50,7 +50,8 @@
FileUtils.deleteDirectory( workingDirectory );
repo = new File( "src/test/resources/repository_no_branch" );
- scmRepository = getScmManager().makeScmRepository( "scm:git:file:///" + repo.getAbsolutePath() );
+ scmRepository = getScmManager().makeScmRepository( "scm:git:" +
+ repo.toPath().toAbsolutePath().toUri().toASCIIString() );
}
public void testCheckoutNoBranch()
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java
index c06f3d6..7d853eb 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/java/org/apache/maven/scm/provider/git/gitexe/command/info/GitInfoCommandTckTest.java
@@ -50,7 +50,7 @@
provider.info( repository, new ScmFileSet( getRepositoryRoot() ), new CommandParameters() );
assertNotNull( result );
assertEquals( "cd3c0dfacb65955e6fbb35c56cc5b1bf8ce4f767", result.getInfoItems().get( 0 ).getRevision() );
- //
+ //
}
public void testInfoCommandWithShortRevision()
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java
index c62458f..9aac135 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/GitScmTestUtils.java
@@ -19,19 +19,16 @@
* under the License.
*/
-import junit.framework.Assert;
-import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.Os;
-import org.codehaus.plexus.util.StringUtils;
-import org.codehaus.plexus.util.cli.CommandLineException;
-import org.codehaus.plexus.util.cli.CommandLineUtils;
-import org.codehaus.plexus.util.cli.Commandline;
-
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
+import junit.framework.Assert;
+
+import org.codehaus.plexus.PlexusTestCase;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.cli.CommandLineException;
+
/**
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugstøl</a>
*
@@ -79,37 +76,7 @@
public static String getScmUrl( File repositoryRootFile, String provider )
throws CommandLineException
{
- String repositoryRoot = repositoryRootFile.getAbsolutePath();
-
- // TODO: it'd be great to build this into CommandLineUtils somehow
- // TODO: some way without a custom cygwin sys property?
- if ( "true".equals( System.getProperty( "cygwin" ) ) )
- {
- Commandline cl = new Commandline();
-
- cl.setExecutable( "cygpath" );
-
- cl.createArg().setValue( "--unix" );
-
- cl.createArg().setValue( repositoryRoot );
-
- CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
-
- int exitValue = CommandLineUtils.executeCommandLine( cl, stdout, null );
-
- if ( exitValue != 0 )
- {
- throw new CommandLineException( "Unable to convert cygwin path, exit code = " + exitValue );
- }
-
- repositoryRoot = stdout.getOutput().trim();
- }
- else if ( Os.isFamily( "windows" ) )
- {
- repositoryRoot = "/" + StringUtils.replace( repositoryRoot, "\\", "/" );
- }
-
- return "scm:" + provider + ":file://" + repositoryRoot;
+ return "scm:" + provider + ":" + repositoryRootFile.toPath().toAbsolutePath().toUri().toASCIIString();
}
diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java
index 488093e..b28b4f5 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/info/JGitInfoCommand.java
@@ -60,7 +60,7 @@
InfoItem infoItem = new InfoItem();
infoItem.setRevision( StringUtils.trim( objectId.name() ) );
- infoItem.setURL( basedir.getPath() );
+ infoItem.setURL( basedir.toPath().toUri().toASCIIString() );
return new InfoScmResult( Collections.singletonList( infoItem ),
new ScmResult( "JGit.resolve(HEAD)", "", objectId.toString(), true ) );
diff --git a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java
index d52d61f..098c66a 100644
--- a/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java
+++ b/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svntest/src/main/java/org/apache/maven/scm/provider/svn/SvnScmTestUtils.java
@@ -22,8 +22,6 @@
import junit.framework.Assert;
import org.apache.maven.scm.ScmTestCase;
import org.codehaus.plexus.util.FileUtils;
-import org.codehaus.plexus.util.Os;
-import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.cli.CommandLineException;
import org.codehaus.plexus.util.cli.CommandLineUtils;
import org.codehaus.plexus.util.cli.Commandline;
@@ -55,7 +53,7 @@
{
FileUtils.deleteDirectory( repositoryRoot );
}
-
+
Assert.assertFalse( "repositoryRoot still exists", repositoryRoot.exists() );
Assert.assertTrue( "Could not make repository root directory: " + repositoryRoot.getAbsolutePath(),
@@ -132,36 +130,6 @@
public static String getScmUrl( File repositoryRootFile )
throws CommandLineException
{
- String repositoryRoot = repositoryRootFile.getAbsolutePath();
-
- // TODO: it'd be great to build this into CommandLineUtils somehow
- // TODO: some way without a custom cygwin sys property?
- if ( "true".equals( System.getProperty( "cygwin" ) ) )
- {
- Commandline cl = new Commandline();
-
- cl.setExecutable( "cygpath" );
-
- cl.createArg().setValue( "--unix" );
-
- cl.createArg().setValue( repositoryRoot );
-
- CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer();
-
- int exitValue = CommandLineUtils.executeCommandLine( cl, stdout, null );
-
- if ( exitValue != 0 )
- {
- throw new CommandLineException( "Unable to convert cygwin path, exit code = " + exitValue );
- }
-
- repositoryRoot = stdout.getOutput().trim();
- }
- else if ( Os.isFamily( "windows" ) )
- {
- repositoryRoot = "/" + StringUtils.replace( repositoryRoot, "\\", "/" );
- }
-
- return "scm:svn:file://" + repositoryRoot;
+ return "scm:svn:" + repositoryRootFile.toPath().toAbsolutePath().toUri().toASCIIString();
}
}