Repository :
http://git.fedorahosted.org/cgit/jenkinscat-docs.git
On branch : master
---------------------------------------------------------------
commit 94d3e5c96297bf263e2d3f4108f66b2c28f45bcd
Author: Pavel Tisnovsky <ptisnovs(a)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(a)redhat.com>
* src/jenkinscat/server.clj:
+ Function for cloning from various repo types.
+
+2015-01-20 Pavel Tisnovsky <ptisnovs(a)redhat.com>
+
+ * src/jenkinscat/server.clj:
Basic support for adding new books.
2015-01-19 Pavel Tisnovsky <ptisnovs(a)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)]