             (repo-workdir workdir group reponame)))
 
 (defn read-branch-list-from-repo
+  "Read list of all branches from selected repository."
   [workdir group reponame]
   (let [repodir (repo-workdir workdir group reponame)]
     (log/info "Reading branches from repository" repodir)

    jobs-info))

(defn create-action-queue
  []
  (java.util.concurrent.LinkedBlockingQueue.))

(defn action-consumer
  [actions-queue]
  (while true
         (when-let [action (.take actions-queue)] ; blocking operation

           (log/info "Finished action for repository" action))))

(defn start-action-consumer
  "Start consumer of action queue in its own thread."
  [actions-queue]
  (log/info "Starting actions consumer")
  (future                                    ; start consumer in its own thread
    (action-consumer actions-queue)))

(defn new-action
  "Plan for a new action via action queue."
  [actions-queue action]
  (.put actions-queue action))

(def empty-SHA
  "Default SHA used to detect operation that needs to be performed."
  "0000000000000000000000000000000000000000")

(defn get-operation
  "Get the next operation that needs to be planned."
  [before after]
  (if (= before empty-SHA)
    (if (= after empty-SHA)
