You can clone with
HTTPS or Subversion.
As you don't need to coordinate with other references to create new ids you could use an atom and avoid all the dosyncs.
Congrats for a very intructive series. It is very instructing to view the "parellel" evolution af a java and a clojure solutions.
Use an atom instead of a ref for the entity ID generation.