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");