This is an automated email from the ASF dual-hosted git repository.

acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0274b98b9c09e25114ab7d978e02e56cb50dc6bd
Author: Andrea Cosentino <anco...@gmail.com>
AuthorDate: Tue May 12 14:55:17 2020 +0200

    CAMEL-15051 - Camel GIT component does not check out the branch specified 
in branchName when cloning
---
 .../org/apache/camel/component/git/producer/GitProducer.java | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
 
b/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
index dbdaf74f..20cf524 100644
--- 
a/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
+++ 
b/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
@@ -204,9 +204,17 @@ public class GitProducer extends DefaultProducer {
             if (!localRepo.exists()) {
                 if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && 
ObjectHelper.isNotEmpty(endpoint.getPassword())) {
                     UsernamePasswordCredentialsProvider credentials = new 
UsernamePasswordCredentialsProvider(endpoint.getUsername(), 
endpoint.getPassword());
-                    result = 
Git.cloneRepository().setCredentialsProvider(credentials).setURI(endpoint.getRemotePath()).setDirectory(new
 File(endpoint.getLocalPath(), "")).call();
+                    if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
+                        result = 
Git.cloneRepository().setCredentialsProvider(credentials).setURI(endpoint.getRemotePath()).setDirectory(new
 File(endpoint.getLocalPath(), "")).call();
+                    } else {
+                       result = 
Git.cloneRepository().setCredentialsProvider(credentials).setURI(endpoint.getRemotePath()).setDirectory(new
 File(endpoint.getLocalPath(), "")).setBranch(endpoint.getBranchName()).call();
+                    }
                 } else {
-                    result = 
Git.cloneRepository().setURI(endpoint.getRemotePath()).setDirectory(new 
File(endpoint.getLocalPath(), "")).call();
+                       if (ObjectHelper.isEmpty(endpoint.getBranchName())) {
+                        result = 
Git.cloneRepository().setURI(endpoint.getRemotePath()).setDirectory(new 
File(endpoint.getLocalPath(), "")).call();
+                       } else {
+                               result = 
Git.cloneRepository().setURI(endpoint.getRemotePath()).setDirectory(new 
File(endpoint.getLocalPath(), "")).setBranch(endpoint.getBranchName()).call();
+                       }
                 }
             } else {
                 throw new IllegalArgumentException("The local repository 
directory already exists");

Reply via email to