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 2013/05/22 23:14:56 UTC
git commit: [SCM-709] REGRESSION: git status doesn't work if
repository root is not the working directory All URI.create() calls now use
GitStatusConsumer.resolveURI() so escaping-logic isn't spread over several
classes
Updated Branches:
refs/heads/master 7ee56421e -> 223b883b1
[SCM-709] REGRESSION: git status doesn't work if repository root is not the working directory
All URI.create() calls now use GitStatusConsumer.resolveURI() so escaping-logic isn't spread over several classes
Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/223b883b
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/223b883b
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/223b883b
Branch: refs/heads/master
Commit: 223b883b14e22a76d7550e374c69eb4ea9d22810
Parents: 7ee5642
Author: rfscholte <rf...@apache.org>
Authored: Wed May 22 23:14:17 2013 +0200
Committer: rfscholte <rf...@apache.org>
Committed: Wed May 22 23:14:17 2013 +0200
----------------------------------------------------------------------
.../git/gitexe/command/add/GitAddCommand.java | 2 +-
.../gitexe/command/checkin/GitCheckInCommand.java | 2 +-
.../gitexe/command/status/GitStatusCommand.java | 2 +-
.../gitexe/command/status/GitStatusConsumer.java | 20 ++++++++++++---
4 files changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-scm/blob/223b883b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
----------------------------------------------------------------------
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/add/GitAddCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
index 1ea1e07..c920dc5 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/add/GitAddCommand.java
@@ -91,7 +91,7 @@ public class GitAddCommand
}
else
{
- relativeRepositoryPath = URI.create( stdout.getOutput().trim() ).relativize( fileSet.getBasedir().toURI() );
+ relativeRepositoryPath = GitStatusConsumer.resolveURI( stdout.getOutput().trim() , fileSet.getBasedir().toURI() );
}
// git-add doesn't show single files, but only summary :/
http://git-wip-us.apache.org/repos/asf/maven-scm/blob/223b883b/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
----------------------------------------------------------------------
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 a37aaaf..8af561f 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
@@ -117,7 +117,7 @@ public class GitCheckInCommand
}
else
{
- relativeRepositoryPath = URI.create( stdout.getOutput().trim() ).relativize( fileSet.getBasedir().toURI() );
+ relativeRepositoryPath = GitStatusConsumer.resolveURI( stdout.getOutput().trim(), fileSet.getBasedir().toURI() );
}
// git-commit doesn't show single files, but only summary :/
http://git-wip-us.apache.org/repos/asf/maven-scm/blob/223b883b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
----------------------------------------------------------------------
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/status/GitStatusCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
index 133f5aa..d1be13b 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusCommand.java
@@ -65,7 +65,7 @@ public class GitStatusCommand
}
else
{
- relativeRepositoryPath = URI.create( stdout.getOutput().trim() ).relativize( fileSet.getBasedir().toURI() );
+ relativeRepositoryPath = GitStatusConsumer.resolveURI( stdout.getOutput().trim(), fileSet.getBasedir().toURI() );
}
Commandline cl = createCommandLine( (GitScmProviderRepository) repo, fileSet );
http://git-wip-us.apache.org/repos/asf/maven-scm/blob/223b883b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
----------------------------------------------------------------------
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/status/GitStatusConsumer.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
index 0f9a670..b0ac43a 100644
--- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
+++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/status/GitStatusConsumer.java
@@ -220,10 +220,7 @@ public class GitStatusConsumer
{
if ( path != null )
{
- // When using URI.create, spaces need to be escaped but not the slashes, so we can't use URLEncoder.encode( String, String )
- // new File( String ).toURI() results in an absolute URI while path is relative, so that can't be used either.
- String str = fileEntry.replace( " ", "%20" );
- return path.relativize( URI.create( str ) ).getPath();
+ return resolveURI( fileEntry, path ).getPath();
}
else
{
@@ -231,6 +228,21 @@ public class GitStatusConsumer
}
}
+ /**
+ *
+ * @param fileEntry the fileEntry, must not be {@code null}
+ * @param path the path, must not be {@code null}
+ * @return
+ */
+ public static URI resolveURI( String fileEntry, URI path )
+ {
+ // When using URI.create, spaces need to be escaped but not the slashes, so we can't use URLEncoder.encode( String, String )
+ // new File( String ).toURI() results in an absolute URI while path is relative, so that can't be used either.
+ String str = fileEntry.replace( " ", "%20" );
+ return path.relativize( URI.create( str ) );
+ }
+
+
public List<ScmFile> getChangedFiles()
{
return changedFiles;