[jenkinscat-docs] master: Function for cloning from various repo types. (94d3e5c)

immanetize at fedoraproject.org immanetize at fedoraproject.org
Fri Feb 6 07:41:03 UTC 2015


Repository : http://git.fedorahosted.org/cgit/jenkinscat-docs.git

On branch  : master

>---------------------------------------------------------------

commit 94d3e5c96297bf263e2d3f4108f66b2c28f45bcd
Author: Pavel Tisnovsky <ptisnovs at redhat.com>
Date:   Tue Jan 20 10:56:36 2015 +0100

    Function for cloning from various repo types.


>---------------------------------------------------------------

 ChangeLog                 |    5 +++++
 src/jenkinscat/server.clj |   23 +++++++++++++++++++++++
 2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8f2ca97..5947b09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 2015-01-20  Pavel Tisnovsky  <ptisnovs at redhat.com>
 
 	* src/jenkinscat/server.clj:
+	Function for cloning from various repo types.
+
+2015-01-20  Pavel Tisnovsky  <ptisnovs at redhat.com>
+
+	* src/jenkinscat/server.clj:
 	Basic support for adding new books.
 
 2015-01-19  Pavel Tisnovsky  <ptisnovs at redhat.com>
diff --git a/src/jenkinscat/server.clj b/src/jenkinscat/server.clj
index b9babc1..cba6a10 100644
--- a/src/jenkinscat/server.clj
+++ b/src/jenkinscat/server.clj
@@ -742,6 +742,29 @@
           url  (get-full-repository-url repository-type repository-name)]
           (check-if-repo-exists dvcs url)))
 
+(defn clone-git-repo
+    "Clone given GIT repository into temporary directory."
+    [url temp-dir-name]
+    (let [result (exec/exec "git clone" url temp-dir-name)]
+        (= result 0)))
+
+(defn clone-svn-repo
+    "Clone given SVN repository into temporary directory."
+    [url temp-dir-name]
+    (let [result (exec/exec "svn checkout --non-interactive --trust-server-cert " url temp-dir-name)]
+        (= result 0)))
+
+(defn clone-repo
+    "Clone given GIT or SVN repository into temporary directory."
+    [repository-type dcvs repository-name temp-dir-name]
+    ;(println repository-type dcvs repository-name)
+    (let [full-url (get-full-repository-url repository-type repository-name)]
+        (println "Clonning from: " full-url)
+        (cond
+            (= dcvs "git") (clone-git-repo full-url temp-dir-name)
+            (= dcvs "svn") (clone-svn-repo full-url temp-dir-name)
+            :else nil)))
+
 (defn count-books
     [books]
     (let [out-data (new java.util.TreeSet)]



More information about the docs-commits mailing list