Repository: maven-scm Updated Branches: refs/heads/master cd151e807 -> 57f24ab04
[SCM-806] JGit impl should look for repositories in parent directories Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/57f24ab0 Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/57f24ab0 Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/57f24ab0 Branch: refs/heads/master Commit: 57f24ab047e8af8ade59df32639e942b6ba89c12 Parents: cd151e8 Author: rfscholte <[email protected]> Authored: Mon May 30 23:35:20 2016 +0200 Committer: rfscholte <[email protected]> Committed: Mon May 30 23:35:20 2016 +0200 ---------------------------------------------------------------------- .../maven/scm/provider/git/jgit/command/JGitUtils.java | 11 +++++++++++ .../provider/git/jgit/command/add/JGitAddCommand.java | 2 +- .../git/jgit/command/blame/JGitBlameCommand.java | 2 +- .../git/jgit/command/branch/JGitBranchCommand.java | 2 +- .../git/jgit/command/changelog/JGitChangeLogCommand.java | 2 +- .../git/jgit/command/checkin/JGitCheckInCommand.java | 2 +- .../git/jgit/command/checkout/JGitCheckOutCommand.java | 1 + .../provider/git/jgit/command/diff/JGitDiffCommand.java | 2 +- .../provider/git/jgit/command/list/JGitListCommand.java | 2 +- .../jgit/command/remoteinfo/JGitRemoteInfoCommand.java | 2 +- .../git/jgit/command/status/JGitStatusCommand.java | 2 +- .../provider/git/jgit/command/tag/JGitTagCommand.java | 2 +- 12 files changed, 22 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java ---------------------------------------------------------------------- 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/JGitUtils.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java index a5baccf..d530d9c 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/JGitUtils.java @@ -45,6 +45,7 @@ import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ProgressMonitor; import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.lib.RepositoryBuilder; import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.lib.TextProgressMonitor; import org.eclipse.jgit.revwalk.RevCommit; @@ -89,6 +90,16 @@ public class JGitUtils } /** + * Opens a JGit repository in the current directory or a parent directory. + * @param basedir The directory to start with + * @throws IOException If the repository cannot be opened + */ + public static Git openRepo( File basedir ) throws IOException + { + return new Git( new RepositoryBuilder().readEnvironment().findGitDir( basedir ).setMustExist( true ).build() ); + } + + /** * Closes the repository wrapped by the passed git object * @param git */ http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java ---------------------------------------------------------------------- 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/add/JGitAddCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java index b448b62..fd4a728 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/add/JGitAddCommand.java @@ -56,7 +56,7 @@ public class JGitAddCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); List<ScmFile> addedFiles = JGitUtils.addAllFiles( git, fileSet ); http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java ---------------------------------------------------------------------- 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/blame/JGitBlameCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java index ec15539..4cdc095 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/blame/JGitBlameCommand.java @@ -53,7 +53,7 @@ public class JGitBlameCommand File basedir = workingDirectory.getBasedir(); try { - git = Git.open( basedir ); + git = JGitUtils.openRepo( basedir ); BlameResult blameResult = git.blame().setFilePath( filename ).call(); List<BlameLine> lines = new ArrayList<BlameLine>(); http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java ---------------------------------------------------------------------- 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/branch/JGitBranchCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java index b42afe6..4b0565e 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/branch/JGitBranchCommand.java @@ -77,7 +77,7 @@ public class JGitBranchCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); Ref branchResult = git.branchCreate().setName( branch ).call(); getLogger().info( "created [" + branchResult.getName() + "]" ); http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java ---------------------------------------------------------------------- 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/changelog/JGitChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java index 601c1c7..a8fef01 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java @@ -84,7 +84,7 @@ public class JGitChangeLogCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); String startRev = startVersion != null ? startVersion.getName() : null; String endRev = endVersion != null ? endVersion.getName() : null; http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java ---------------------------------------------------------------------- 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/checkin/JGitCheckInCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java index 020d7cf..fcddb04 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkin/JGitCheckInCommand.java @@ -85,7 +85,7 @@ public class JGitCheckInCommand try { File basedir = fileSet.getBasedir(); - git = Git.open( basedir ); + git = JGitUtils.openRepo( basedir ); boolean doCommit = false; http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java ---------------------------------------------------------------------- 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/checkout/JGitCheckOutCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java index 8d4931b..178230c 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java @@ -120,6 +120,7 @@ public class JGitCheckOutCommand if ( git == null ) { + // deliberately not using JGitUtils.openRepo(), the caller told us exactly where to checkout git = Git.open( fileSet.getBasedir() ); } http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java ---------------------------------------------------------------------- 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/diff/JGitDiffCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java index a543ef8..f640b03 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/diff/JGitDiffCommand.java @@ -60,7 +60,7 @@ public class JGitDiffCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); DiffScmResult diff = callDiff( git, startRevision, endRevision ); git.getRepository().close(); return diff; http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java ---------------------------------------------------------------------- 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/list/JGitListCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java index 054f9bc..ef86c09 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/list/JGitListCommand.java @@ -56,7 +56,7 @@ public class JGitListCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); CredentialsProvider credentials = JGitUtils.prepareSession( getLogger(), git, (GitScmProviderRepository) repo ); http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java ---------------------------------------------------------------------- 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/remoteinfo/JGitRemoteInfoCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java index 36c90a5..b521b0b 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/remoteinfo/JGitRemoteInfoCommand.java @@ -57,7 +57,7 @@ public class JGitRemoteInfoCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); CredentialsProvider credentials = JGitUtils.getCredentials( repo ); LsRemoteCommand lsCommand = http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java ---------------------------------------------------------------------- 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/status/JGitStatusCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java index 056843e..edc7aa1 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/status/JGitStatusCommand.java @@ -53,7 +53,7 @@ public class JGitStatusCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); Status status = git.status().call(); List<ScmFile> changedFiles = getFileStati( status ); http://git-wip-us.apache.org/repos/asf/maven-scm/blob/57f24ab0/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java ---------------------------------------------------------------------- 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/tag/JGitTagCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java index a66992a..4957a29 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java @@ -81,7 +81,7 @@ public class JGitTagCommand Git git = null; try { - git = Git.open( fileSet.getBasedir() ); + git = JGitUtils.openRepo( fileSet.getBasedir() ); // tag the revision String tagMessage = scmTagParameters.getMessage();
