Will someone please help me understand what I'm doing wrong?
The code below is *supposed* to do the following.
1) Checkout the top level directory of a Subversion repository with empty
depth.
2) Update the project directories (the ones right under the root of the
repository) with depth immediates, thus downloading their sub-directories:
"branches" and "tags".
3) Update the specific branch called BRANCHNAME with depth infinity.
The result should be that I have a Subversion working copy that looks
something like this, with BRANCHNAME also expanding to the specific code
stored in that branch.
├───project1
│ ├───branches
│ │ └───BRANCHNAME
│ └───tags
├───project2
│ ├───branches
│ │ └───BRANCHNAME
│ └───tags
└───project3
├───branches
│ └───BRANCHNAME
└───tags
...
The problem is that even though I have 38 projects in the repository, only 9
projects get updated. Here's the code. I can't provide the clojure.svn
code unfortunately, but hopefully I'm doing something obviously wrong that
someone can quickly see.
(use 'clojure.svn)
(use '[clojure.contrib.str-utils :only (re-split str-join)])
(def repo-url "URL_TO_SVN_REPO")
(def dst-dir "PATH_TO_WORKING_COPY")
(def projects (ls repo-url))
(def agents (map agent (take 5 (repeat 0))))
(co repo-url dst-dir EMPTY)
(doseq [[p a] (partition 2 (interleave projects (cycle agents)))]
(do
(send-off
a
(fn [_ & args] (apply up args))
(str-join "/" [dst-dir p])
IMMEDIATES)
(send-off
a
(fn [_ & args] (apply up args))
(str-join "/" [dst-dir p "branches" "BRANCHNAME"])
INFINITY)))
Thanks,
Justin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---