Updated Branches: refs/heads/master fe87e3068 -> 82a64d085
cleanup imports and formatting Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/5ce099a9 Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/5ce099a9 Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/5ce099a9 Branch: refs/heads/master Commit: 5ce099a9de40f077c6468ae8518afd3dbd588132 Parents: fe87e30 Author: Olivier Lamy <ol...@apache.org> Authored: Mon Jul 15 21:36:48 2013 +1000 Committer: Olivier Lamy <ol...@apache.org> Committed: Mon Jul 15 21:36:48 2013 +1000 ---------------------------------------------------------------------- .../provider/git/jgit/command/JGitUtils.java | 53 +++++---- .../git/jgit/command/add/JGitAddCommand.java | 4 +- .../jgit/command/blame/JGitBlameCommand.java | 8 +- .../jgit/command/branch/JGitBranchCommand.java | 68 +++++------ .../command/changelog/JGitChangeLogCommand.java | 12 +- .../command/checkin/JGitCheckInCommand.java | 10 +- .../command/checkout/JGitCheckOutCommand.java | 118 +++++++++---------- .../git/jgit/command/diff/JGitDiffCommand.java | 43 +++---- .../git/jgit/command/list/JGitListCommand.java | 8 +- .../remoteinfo/JGitRemoteInfoCommand.java | 16 +-- .../jgit/command/status/JGitStatusCommand.java | 8 +- .../git/jgit/command/tag/JGitTagCommand.java | 38 +++--- 12 files changed, 184 insertions(+), 202 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 f6aa328..99415d0 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 @@ -1,16 +1,5 @@ package org.apache.maven.scm.provider.git.jgit.command; -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Date; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -50,6 +39,17 @@ import org.eclipse.jgit.transport.RemoteRefUpdate; import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider; import org.eclipse.jgit.util.io.DisabledOutputStream; +import java.io.File; +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Date; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -192,16 +192,17 @@ public class JGitUtils List<ScmFile> list = new ArrayList<ScmFile>(); if ( JGitUtils.hasCommits( repository ) ) { - RevWalk rw = new RevWalk(repository); - RevCommit realParant = commit.getParentCount() > 0 ? commit.getParent(0) : commit; - RevCommit parent = rw.parseCommit(realParant.getId()); - DiffFormatter df = new DiffFormatter(DisabledOutputStream.INSTANCE); - df.setRepository(repository); - df.setDiffComparator(RawTextComparator.DEFAULT); - df.setDetectRenames(true); - List<DiffEntry> diffs = df.scan(parent.getTree(), commit.getTree()); - for (DiffEntry diff : diffs) { - list.add( new ScmFile( diff.getNewPath(), ScmFileStatus.CHECKED_IN )); + RevWalk rw = new RevWalk( repository ); + RevCommit realParant = commit.getParentCount() > 0 ? commit.getParent( 0 ) : commit; + RevCommit parent = rw.parseCommit( realParant.getId() ); + DiffFormatter df = new DiffFormatter( DisabledOutputStream.INSTANCE ); + df.setRepository( repository ); + df.setDiffComparator( RawTextComparator.DEFAULT ); + df.setDetectRenames( true ); + List<DiffEntry> diffs = df.scan( parent.getTree(), commit.getTree() ); + for ( DiffEntry diff : diffs ) + { + list.add( new ScmFile( diff.getNewPath(), ScmFileStatus.CHECKED_IN ) ); } rw.release(); } @@ -251,7 +252,7 @@ public class JGitUtils AddCommand add = git.add(); for ( File file : fileSet.getFileList() ) { - if (!file.isAbsolute()) + if ( !file.isAbsolute() ) { file = new File( fileSet.getBasedir().getPath(), file.getPath() ); } @@ -266,11 +267,11 @@ public class JGitUtils add.call(); Status status = git.status().call(); - + Set<String> allInIndex = new HashSet<String>(); - allInIndex.addAll(status.getAdded()); - allInIndex.addAll(status.getChanged()); - + allInIndex.addAll( status.getAdded() ); + allInIndex.addAll( status.getChanged() ); + // System.out.println("All in index: "+allInIndex.size()); List<ScmFile> addedFiles = new ArrayList<ScmFile>( allInIndex.size() ); http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 3867bb7..8d8c54d 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 @@ -19,8 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.add; * under the License. */ -import java.util.List; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -32,6 +30,8 @@ import org.apache.maven.scm.provider.git.command.GitCommand; import org.apache.maven.scm.provider.git.jgit.command.JGitUtils; import org.eclipse.jgit.api.Git; +import java.util.List; + /** * @author <a href="mailto:strub...@yahoo.de">Mark Struberg</a> * @author Dominik Bartholdi (imod) http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 85bc6e0..65d3e61 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 @@ -19,10 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.blame; * under the License. */ -import java.io.File; -import java.util.ArrayList; -import java.util.List; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; import org.apache.maven.scm.command.blame.AbstractBlameCommand; @@ -33,6 +29,10 @@ import org.apache.maven.scm.provider.git.command.GitCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.blame.BlameResult; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + /** * @author Dominik Bartholdi (imod) */ http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 6e58fc4..a80e2c2 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 @@ -19,14 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.branch; * under the License. */ -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -49,6 +41,12 @@ import org.eclipse.jgit.revwalk.RevWalk; import org.eclipse.jgit.transport.RefSpec; import org.eclipse.jgit.treewalk.TreeWalk; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + /** * @author Dominik Bartholdi (imod) */ @@ -81,13 +79,14 @@ public class JGitBranchCommand Ref branchResult = git.branchCreate().setName( branch ).call(); getLogger().info( "created [" + branchResult.getName() + "]" ); - if(getLogger().isDebugEnabled()){ - for (String branchName : getShortLocalBranchNames(git)) - { - getLogger().debug( "local branch available: "+branchName ); - } + if ( getLogger().isDebugEnabled() ) + { + for ( String branchName : getShortLocalBranchNames( git ) ) + { + getLogger().debug( "local branch available: " + branchName ); + } } - + if ( repo.isPushChanges() ) { getLogger().info( "push branch [" + branch + "] to remote..." ); @@ -95,21 +94,21 @@ public class JGitBranchCommand new RefSpec( Constants.R_HEADS + branch ) ); } - // search for the tagged files - RevWalk revWalk = new RevWalk(git.getRepository()); - RevCommit commit = revWalk.parseCommit(branchResult.getObjectId()); - - final TreeWalk walk = new TreeWalk(git.getRepository()); - walk.reset(); // drop the first empty tree, which we do not need here - walk.setRecursive(true); - walk.addTree(commit.getTree()); - - List<ScmFile> files = new ArrayList<ScmFile>(); - while (walk.next()) { - files.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT) ); - } - + RevWalk revWalk = new RevWalk( git.getRepository() ); + RevCommit commit = revWalk.parseCommit( branchResult.getObjectId() ); + + final TreeWalk walk = new TreeWalk( git.getRepository() ); + walk.reset(); // drop the first empty tree, which we do not need here + walk.setRecursive( true ); + walk.addTree( commit.getTree() ); + + List<ScmFile> files = new ArrayList<ScmFile>(); + while ( walk.next() ) + { + files.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) ); + } + return new BranchScmResult( "JGit branch", files ); } @@ -121,17 +120,20 @@ public class JGitBranchCommand /** * gets a set of names of the available branches in the given repo + * * @param git the repo to list the branches for * @return set of short branch names * @throws GitAPIException */ - public static Set<String> getShortLocalBranchNames(Git git) throws GitAPIException + public static Set<String> getShortLocalBranchNames( Git git ) + throws GitAPIException { - Set<String> branches = new HashSet<String>(); + Set<String> branches = new HashSet<String>(); Iterator<Ref> iter = git.branchList().call().iterator(); - while(iter.hasNext()){ - branches.add(Repository.shortenRefName(iter.next().getName())); + while ( iter.hasNext() ) + { + branches.add( Repository.shortenRefName( iter.next().getName() ) ); } - return branches; + return branches; } } http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 77ba88d..1cb40c5 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 @@ -19,12 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.changelog; * under the License. */ -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; - import org.apache.maven.scm.ChangeSet; import org.apache.maven.scm.ScmBranch; import org.apache.maven.scm.ScmException; @@ -43,6 +37,12 @@ import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevSort; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + /** * @author <a href="mailto:strub...@yahoo.de">Mark Struberg</a> * @author Dominik Bartholdi (imod) http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 c067366..25cfa3e 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 @@ -19,11 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.checkin; * under the License. */ -import java.io.File; -import java.util.Collections; -import java.util.List; -import java.util.Set; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -41,6 +36,11 @@ import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.transport.RefSpec; +import java.io.File; +import java.util.Collections; +import java.util.List; +import java.util.Set; + /** * @author <a href="mailto:strub...@yahoo.de">Mark Struberg</a> * @author Dominik Bartholdi (imod) http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 028d6a7..44eff4f 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 @@ -19,15 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.checkout; * under the License. */ -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -45,20 +36,18 @@ import org.apache.maven.scm.provider.git.jgit.command.remoteinfo.JGitRemoteInfoC import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository; import org.codehaus.plexus.util.StringUtils; import org.eclipse.jgit.api.Git; -import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.ProgressMonitor; -import org.eclipse.jgit.lib.Ref; -import org.eclipse.jgit.lib.Repository; -import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevWalk; import org.eclipse.jgit.transport.CredentialsProvider; -import org.eclipse.jgit.transport.RefSpec; -import org.eclipse.jgit.transport.RemoteConfig; -import org.eclipse.jgit.transport.URIish; import org.eclipse.jgit.treewalk.TreeWalk; +import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + /** * @author <a href="mailto:strub...@yahoo.de">Mark Struberg</a> * @author Dominik Bartholdi (imod) @@ -93,14 +82,14 @@ public class JGitCheckOutCommand ProgressMonitor monitor = JGitUtils.getMonitor( getLogger() ); String branch = version != null ? version.getName() : null; - + if ( StringUtils.isBlank( branch ) ) { branch = Constants.MASTER; } - - getLogger().debug("try checkout of branch: "+branch); - + + getLogger().debug( "try checkout of branch: " + branch ); + if ( !fileSet.getBasedir().exists() || !( new File( fileSet.getBasedir(), ".git" ).exists() ) ) { if ( fileSet.getBasedir().exists() ) @@ -113,73 +102,74 @@ public class JGitCheckOutCommand CredentialsProvider credentials = JGitUtils.getCredentials( (GitScmProviderRepository) repo ); getLogger().info( "cloning [" + branch + "] to " + fileSet.getBasedir() ); Git.cloneRepository().setURI( repository.getFetchUrl() ).setCredentialsProvider( - credentials ).setBranch( branch ).setDirectory( - fileSet.getBasedir() ).setProgressMonitor( monitor ).call(); + credentials ).setBranch( branch ).setDirectory( fileSet.getBasedir() ).setProgressMonitor( + monitor ).call(); } - + JGitRemoteInfoCommand remoteInfoCommand = new JGitRemoteInfoCommand(); - remoteInfoCommand.setLogger(getLogger()); - RemoteInfoScmResult result = remoteInfoCommand.executeRemoteInfoCommand(repository, fileSet, null); - + remoteInfoCommand.setLogger( getLogger() ); + RemoteInfoScmResult result = remoteInfoCommand.executeRemoteInfoCommand( repository, fileSet, null ); + Git git = Git.open( fileSet.getBasedir() ); if ( fileSet.getBasedir().exists() && new File( fileSet.getBasedir(), ".git" ).exists() - && result.getBranches().size() > 0 ) + && result.getBranches().size() > 0 ) { // git repo exists, so we must git-pull the changes - CredentialsProvider credentials = JGitUtils.prepareSession(getLogger(), git, repository); - + CredentialsProvider credentials = JGitUtils.prepareSession( getLogger(), git, repository ); + if ( version != null && StringUtils.isNotEmpty( version.getName() ) && ( version instanceof ScmTag ) ) { - // A tag will not be pulled but we only fetch all the commits from the upstream repo - // This is done because checking out a tag might not happen on the current branch - // but create a 'detached HEAD'. - // In fact, a tag in git may be in multiple branches. This occurs if - // you create a branch after the tag has been created - getLogger().debug( "fetch..." ); - git.fetch().setCredentialsProvider(credentials).setProgressMonitor( monitor ).call(); + // A tag will not be pulled but we only fetch all the commits from the upstream repo + // This is done because checking out a tag might not happen on the current branch + // but create a 'detached HEAD'. + // In fact, a tag in git may be in multiple branches. This occurs if + // you create a branch after the tag has been created + getLogger().debug( "fetch..." ); + git.fetch().setCredentialsProvider( credentials ).setProgressMonitor( monitor ).call(); } else { getLogger().debug( "pull..." ); - git.pull().setCredentialsProvider(credentials).setProgressMonitor( monitor ).call(); - + git.pull().setCredentialsProvider( credentials ).setProgressMonitor( monitor ).call(); + } } - - Set<String> localBranchNames = JGitBranchCommand.getShortLocalBranchNames(git); - if(version instanceof ScmTag ) + + Set<String> localBranchNames = JGitBranchCommand.getShortLocalBranchNames( git ); + if ( version instanceof ScmTag ) { - getLogger().info( "checkout tag [" + branch + "] at " + fileSet.getBasedir() ); - git.checkout().setName(branch).call(); + getLogger().info( "checkout tag [" + branch + "] at " + fileSet.getBasedir() ); + git.checkout().setName( branch ).call(); } - else if(localBranchNames.contains(branch)) + else if ( localBranchNames.contains( branch ) ) { - getLogger().info( "checkout [" + branch + "] at " + fileSet.getBasedir() ); + getLogger().info( "checkout [" + branch + "] at " + fileSet.getBasedir() ); git.checkout().setName( branch ).call(); } else { - getLogger().info( "checkout remote branch [" + branch + "] at " + fileSet.getBasedir() ); - git.checkout().setName( branch ).setCreateBranch( true ).setStartPoint( Constants.DEFAULT_REMOTE_NAME + "/" + branch ).call(); + getLogger().info( "checkout remote branch [" + branch + "] at " + fileSet.getBasedir() ); + git.checkout().setName( branch ).setCreateBranch( true ).setStartPoint( + Constants.DEFAULT_REMOTE_NAME + "/" + branch ).call(); } - - RevWalk revWalk = new RevWalk(git.getRepository()); + + RevWalk revWalk = new RevWalk( git.getRepository() ); RevCommit commit = revWalk.parseCommit( git.getRepository().resolve( Constants.HEAD ) ); - - final TreeWalk walk = new TreeWalk(git.getRepository()); - walk.reset(); // drop the first empty tree, which we do not need here - walk.setRecursive(true); - walk.addTree(commit.getTree()); - - List<ScmFile> listedFiles = new ArrayList<ScmFile>(); - while (walk.next()) - { - listedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) ); - } - - getLogger().debug( "current branch: " + git.getRepository().getBranch() ); - - return new CheckOutScmResult( "checkout via JGit", listedFiles ); + + final TreeWalk walk = new TreeWalk( git.getRepository() ); + walk.reset(); // drop the first empty tree, which we do not need here + walk.setRecursive( true ); + walk.addTree( commit.getTree() ); + + List<ScmFile> listedFiles = new ArrayList<ScmFile>(); + while ( walk.next() ) + { + listedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) ); + } + + getLogger().debug( "current branch: " + git.getRepository().getBranch() ); + + return new CheckOutScmResult( "checkout via JGit", listedFiles ); } catch ( Exception e ) { http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 e792390..9ed1bc2 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 @@ -19,41 +19,27 @@ package org.apache.maven.scm.provider.git.jgit.command.diff; * under the License. */ -import java.io.BufferedWriter; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.io.StringWriter; -import java.io.Writer; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - import org.apache.maven.scm.ScmException; -import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; -import org.apache.maven.scm.ScmResult; import org.apache.maven.scm.ScmVersion; import org.apache.maven.scm.command.diff.AbstractDiffCommand; import org.apache.maven.scm.command.diff.DiffScmResult; import org.apache.maven.scm.provider.ScmProviderRepository; import org.apache.maven.scm.provider.git.command.GitCommand; import org.apache.maven.scm.provider.git.command.diff.GitDiffConsumer; -import org.apache.maven.scm.provider.git.jgit.command.JGitUtils; -import org.codehaus.plexus.util.IOUtil; import org.codehaus.plexus.util.StringUtils; -import org.eclipse.jgit.api.DiffCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.errors.GitAPIException; -import org.eclipse.jgit.diff.DiffEntry; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectReader; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevWalk; import org.eclipse.jgit.treewalk.AbstractTreeIterator; import org.eclipse.jgit.treewalk.CanonicalTreeParser; -import org.eclipse.jgit.treewalk.filter.TreeFilter; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; /** * @author Dominik Bartholdi (imod) @@ -84,7 +70,7 @@ public class JGitDiffCommand public DiffScmResult callDiff( Git git, ScmVersion startRevision, ScmVersion endRevision ) throws IOException, GitAPIException, ScmException { - + AbstractTreeIterator oldTree = null; if ( startRevision != null && StringUtils.isNotEmpty( startRevision.getName().trim() ) ) { @@ -101,20 +87,21 @@ public class JGitDiffCommand OutputStream out = new ByteArrayOutputStream(); - git.diff().setOutputStream( out ).setOldTree( oldTree ).setNewTree( newTree ).setCached(false).call(); - git.diff().setOutputStream( out ).setOldTree( oldTree ).setNewTree( newTree ).setCached(true).call(); + git.diff().setOutputStream( out ).setOldTree( oldTree ).setNewTree( newTree ).setCached( false ).call(); + git.diff().setOutputStream( out ).setOldTree( oldTree ).setNewTree( newTree ).setCached( true ).call(); out.flush(); - - GitDiffConsumer consumer = new GitDiffConsumer(getLogger(), null); + + GitDiffConsumer consumer = new GitDiffConsumer( getLogger(), null ); String fullDiff = out.toString(); - String[] lines = fullDiff.split(System.getProperty("line.separator")); - for (String aLine : lines) { - consumer.consumeLine(aLine); + String[] lines = fullDiff.split( System.getProperty( "line.separator" ) ); + for ( String aLine : lines ) + { + consumer.consumeLine( aLine ); } - + return new DiffScmResult( "JGit diff", consumer.getChangedFiles(), consumer.getDifferences(), - consumer.getPatch() ); + consumer.getPatch() ); } private AbstractTreeIterator getTreeIterator( Repository repo, String name ) http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 09889e0..f1bd6e2 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 @@ -19,10 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.list; * under the License. */ -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -38,6 +34,10 @@ import org.eclipse.jgit.api.Git; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.transport.CredentialsProvider; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + /** * @author Dominik Bartholdi (imod) */ http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 0d98625..81aee49 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 @@ -19,10 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.remoteinfo; * under the License. */ -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - import org.apache.maven.scm.CommandParameters; import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFileSet; @@ -38,6 +34,10 @@ import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.transport.CredentialsProvider; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + /** * @author Dominik Bartholdi (imod) */ @@ -62,17 +62,17 @@ public class JGitRemoteInfoCommand git.lsRemote().setRemote( repo.getPushUrl() ).setCredentialsProvider( credentials ); Map<String, String> tag = new HashMap<String, String>(); - Collection<Ref> allTags = lsCommand.setHeads( false ).setTags(true).call(); + Collection<Ref> allTags = lsCommand.setHeads( false ).setTags( true ).call(); for ( Ref ref : allTags ) { - tag.put( Repository.shortenRefName(ref.getName()), ref.getObjectId().name() ); + tag.put( Repository.shortenRefName( ref.getName() ), ref.getObjectId().name() ); } Map<String, String> heads = new HashMap<String, String>(); - Collection<Ref> allHeads = lsCommand.setHeads(true).setTags( false ).call(); + Collection<Ref> allHeads = lsCommand.setHeads( true ).setTags( false ).call(); for ( Ref ref : allHeads ) { - heads.put( Repository.shortenRefName(ref.getName()), ref.getObjectId().name() ); + heads.put( Repository.shortenRefName( ref.getName() ), ref.getObjectId().name() ); } return new RemoteInfoScmResult( "JGit remoteinfo", heads, tag ); http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 db2f9ee..58e17c9 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 @@ -19,10 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.status; * under the License. */ -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -34,6 +30,10 @@ import org.apache.maven.scm.provider.git.command.GitCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.Status; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + /** * @author <a href="mailto:strub...@yahoo.de">Mark Struberg</a> * @author Dominik Bartholdi (imod) http://git-wip-us.apache.org/repos/asf/maven-scm/blob/5ce099a9/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 b4011bc..119709d 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 @@ -19,9 +19,6 @@ package org.apache.maven.scm.provider.git.jgit.command.tag; * under the License. */ -import java.util.ArrayList; -import java.util.List; - import org.apache.maven.scm.ScmException; import org.apache.maven.scm.ScmFile; import org.apache.maven.scm.ScmFileSet; @@ -43,6 +40,9 @@ import org.eclipse.jgit.revwalk.RevWalk; import org.eclipse.jgit.transport.RefSpec; import org.eclipse.jgit.treewalk.TreeWalk; +import java.util.ArrayList; +import java.util.List; + /** * @author <a href="mailto:strub...@yahoo.de">Mark Struberg</a> * @author Dominik Bartholdi (imod) @@ -76,8 +76,8 @@ public class JGitTagCommand throw new ScmException( "This provider doesn't support tagging subsets of a directory" ); } - String escapedTagName = tag.trim().replace(' ', '_'); - + String escapedTagName = tag.trim().replace( ' ', '_' ); + try { Git git = Git.open( fileSet.getBasedir() ); @@ -89,22 +89,24 @@ public class JGitTagCommand if ( repo.isPushChanges() ) { getLogger().info( "push tag [" + escapedTagName + "] to remote..." ); - JGitUtils.push( getLogger(), git, (GitScmProviderRepository) repo, new RefSpec( Constants.R_TAGS + escapedTagName ) ); + JGitUtils.push( getLogger(), git, (GitScmProviderRepository) repo, + new RefSpec( Constants.R_TAGS + escapedTagName ) ); } // search for the tagged files - RevWalk revWalk = new RevWalk(git.getRepository()); - RevCommit commit = revWalk.parseCommit(tagRef.getObjectId()); - - final TreeWalk walk = new TreeWalk(git.getRepository()); - walk.reset(); // drop the first empty tree, which we do not need here - walk.setRecursive(true); - walk.addTree(commit.getTree()); - - List<ScmFile> taggedFiles = new ArrayList<ScmFile>(); - while (walk.next()) { - taggedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT)); - } + RevWalk revWalk = new RevWalk( git.getRepository() ); + RevCommit commit = revWalk.parseCommit( tagRef.getObjectId() ); + + final TreeWalk walk = new TreeWalk( git.getRepository() ); + walk.reset(); // drop the first empty tree, which we do not need here + walk.setRecursive( true ); + walk.addTree( commit.getTree() ); + + List<ScmFile> taggedFiles = new ArrayList<ScmFile>(); + while ( walk.next() ) + { + taggedFiles.add( new ScmFile( walk.getPathString(), ScmFileStatus.CHECKED_OUT ) ); + } return new TagScmResult( "JGit tag", taggedFiles ); }