You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/07/14 08:48:16 UTC
camel git commit: CAMEL-10145: Camel-Git: Pull and Push operations
require the remote Name and not the remote Path to git repository
Repository: camel
Updated Branches:
refs/heads/master d8a377579 -> 23b13a1e1
CAMEL-10145: Camel-Git: Pull and Push operations require the remote Name and not the remote Path to git repository
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/23b13a1e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/23b13a1e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/23b13a1e
Branch: refs/heads/master
Commit: 23b13a1e14ca7e7d65f4a6d5f68f7d33deeec83a
Parents: d8a3775
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Jul 14 10:46:43 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Jul 14 10:46:43 2016 +0200
----------------------------------------------------------------------
components/camel-git/src/main/docs/git.adoc | 5 ++++-
.../org/apache/camel/component/git/GitEndpoint.java | 14 ++++++++++++++
.../camel/component/git/producer/GitProducer.java | 16 ++++++++--------
.../component/git/producer/GitProducerTest.java | 12 ++++++++++++
4 files changed, 38 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/23b13a1e/components/camel-git/src/main/docs/git.adoc
----------------------------------------------------------------------
diff --git a/components/camel-git/src/main/docs/git.adoc b/components/camel-git/src/main/docs/git.adoc
index 5e802de..e2e68b4 100644
--- a/components/camel-git/src/main/docs/git.adoc
+++ b/components/camel-git/src/main/docs/git.adoc
@@ -38,8 +38,9 @@ The Git component has no options.
+
// endpoint options: START
-The Git component supports 12 endpoint options which are listed below:
+The Git component supports 13 endpoint options which are listed below:
{% raw %}
[width="100%",cols="2s,1,1m,1m,5",options="header"]
@@ -48,6 +49,7 @@ The Git component supports 12 endpoint options which are listed below:
| localPath | common | | String | *Required* Local repository path
| branchName | common | | String | The branch name to work on
| password | common | | String | Remote repository password
+| remoteName | common | | String | The remote repository name to use in particular operation like pull
| remotePath | common | | String | The remote repository path
| tagName | common | | String | The tag name to work on
| username | common | | String | Remote repository username
@@ -63,6 +65,7 @@ The Git component supports 12 endpoint options which are listed below:
+
[[Git-MessageHeaders]]
Message Headers
^^^^^^^^^^^^^^^
http://git-wip-us.apache.org/repos/asf/camel/blob/23b13a1e/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
index 71f2ab0..d25dbb2 100644
--- a/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
+++ b/components/camel-git/src/main/java/org/apache/camel/component/git/GitEndpoint.java
@@ -57,6 +57,9 @@ public class GitEndpoint extends DefaultEndpoint {
@UriParam
private String remotePath;
+
+ @UriParam
+ private String remoteName;
@UriParam(enums = "clone,init,add,remove,commit,commitAll,createBranch,deleteBranch,createTag,deleteTag,status,log,push,pull,showBranches,cherryPick", label = "producer")
private String operation;
@@ -175,5 +178,16 @@ public class GitEndpoint extends DefaultEndpoint {
public void setTagName(String tagName) {
this.tagName = tagName;
}
+
+ /**
+ * The remote repository name to use in particular operation like pull
+ */
+ public String getRemoteName() {
+ return remoteName;
+ }
+
+ public void setRemoteName(String remoteName) {
+ this.remoteName = remoteName;
+ }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/23b13a1e/components/camel-git/src/main/java/org/apache/camel/component/git/producer/GitProducer.java
----------------------------------------------------------------------
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 5c16ef3..be7ef1d 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
@@ -346,17 +346,17 @@ public class GitProducer extends DefaultProducer {
protected void doPush(Exchange exchange, String operation) throws Exception {
Iterable<PushResult> result = null;
try {
- if (ObjectHelper.isEmpty(endpoint.getRemotePath())) {
- throw new IllegalArgumentException("Remote path must be specified to execute " + operation);
+ if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
+ throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
}
if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
}
if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
UsernamePasswordCredentialsProvider credentials = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
- result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemotePath()).call();
+ result = git.push().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
} else {
- result = git.push().setRemote(endpoint.getRemotePath()).call();
+ result = git.push().setRemote(endpoint.getRemoteName()).call();
}
} catch (Exception e) {
LOG.error("There was an error in Git " + operation + " operation");
@@ -368,17 +368,17 @@ public class GitProducer extends DefaultProducer {
protected void doPull(Exchange exchange, String operation) throws Exception {
PullResult result = null;
try {
- if (ObjectHelper.isEmpty(endpoint.getRemotePath())) {
- throw new IllegalArgumentException("Remote path must be specified to execute " + operation);
+ if (ObjectHelper.isEmpty(endpoint.getRemoteName())) {
+ throw new IllegalArgumentException("Remote name must be specified to execute " + operation);
}
if (ObjectHelper.isNotEmpty(endpoint.getBranchName())) {
git.checkout().setCreateBranch(false).setName(endpoint.getBranchName()).call();
}
if (ObjectHelper.isNotEmpty(endpoint.getUsername()) && ObjectHelper.isNotEmpty(endpoint.getPassword())) {
UsernamePasswordCredentialsProvider credentials = new UsernamePasswordCredentialsProvider(endpoint.getUsername(), endpoint.getPassword());
- result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemotePath()).call();
+ result = git.pull().setCredentialsProvider(credentials).setRemote(endpoint.getRemoteName()).call();
} else {
- result = git.pull().setRemote(endpoint.getRemotePath()).call();
+ result = git.pull().setRemote(endpoint.getRemoteName()).call();
}
} catch (Exception e) {
LOG.error("There was an error in Git " + operation + " operation");
http://git-wip-us.apache.org/repos/asf/camel/blob/23b13a1e/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java b/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
index a9000df..6dc66ed 100755
--- a/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
+++ b/components/camel-git/src/test/java/org/apache/camel/component/git/producer/GitProducerTest.java
@@ -27,6 +27,7 @@ import org.apache.camel.component.git.GitConstants;
import org.apache.camel.component.git.GitTestSupport;
import org.eclipse.jgit.api.CreateBranchCommand.SetupUpstreamMode;
import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.PullResult;
import org.eclipse.jgit.api.Status;
import org.eclipse.jgit.lib.Ref;
import org.eclipse.jgit.lib.Repository;
@@ -58,6 +59,15 @@ public class GitProducerTest extends GitTestSupport {
}
@Test
+ public void pullTest() throws Exception {
+ template.sendBody("direct:clone", "");
+ File gitDir = new File(gitLocalRepo, ".git");
+ assertEquals(gitDir.exists(), true);
+ PullResult pr = template.requestBody("direct:pull", "", PullResult.class);
+ assertTrue(pr.isSuccessful());
+ }
+
+ @Test
public void addTest() throws Exception {
Repository repository = getTestRepository();
@@ -1096,6 +1106,8 @@ public class GitProducerTest extends GitTestSupport {
.to("git://" + gitLocalRepo + "?operation=cherryPick&branchName=" + branchTest);
from("direct:cherrypick-master")
.to("git://" + gitLocalRepo + "?operation=cherryPick&branchName=refs/heads/master");
+ from("direct:pull")
+ .to("git://" + gitLocalRepo + "?remoteName=origin&operation=pull");
}
};
}