fix checkout of tags

Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/88de6395
Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/88de6395
Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/88de6395

Branch: refs/heads/master
Commit: 88de6395d401cd29186abb635b736d8e86a2f400
Parents: cef38eb
Author: imod <d...@fortysix.ch>
Authored: Fri Jul 12 09:04:56 2013 +0200
Committer: imod <d...@fortysix.ch>
Committed: Fri Jul 12 09:04:56 2013 +0200

----------------------------------------------------------------------
 .../git/jgit/command/checkout/JGitCheckOutCommand.java      | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-scm/blob/88de6395/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
 
b/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
index 883650e..f8269ab 100644
--- 
a/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
+++ 
b/src/main/java/org/apache/maven/scm/provider/git/jgit/command/checkout/JGitCheckOutCommand.java
@@ -147,12 +147,17 @@ public class JGitCheckOutCommand
             }
             
             Set<String> localBranchNames = 
JGitBranchCommand.getShortLocalBranchNames(git);
-            if(localBranchNames.contains(branch))
+            if(version instanceof ScmTag )
+            {
+               getLogger().info( "checkout tag [" + branch + "] at " + 
fileSet.getBasedir() );
+               git.checkout().setName(branch).call();
+            }
+            else if(localBranchNames.contains(branch))
             {
                getLogger().info( "checkout [" + branch + "] at " + 
fileSet.getBasedir() );
                 git.checkout().setName( branch ).call();
             }
-            else 
+            else
             {
                getLogger().info( "checkout remote branch [" + branch + "] at " 
+ fileSet.getBasedir() );
                git.checkout().setName( branch ).setCreateBranch( true 
).setStartPoint( Constants.DEFAULT_REMOTE_NAME + "/" + branch ).call();

Reply via email to