                                    candidates-f)]
         {:keys [sha ctime]} candidates-g]
     {:verify (when verify-newest?
-               (git {:gitdir gitdir} "checkout" (str sha))
+               (safe-checkout gitdir (str sha))
                (let [check-sha (sha/mk (:sha (get-voom-version found-path :gitdir gitdir)))]
                  (if (= check-sha sha)
                    :ok

      (if (.exists ^File checkout)
        (git g "fetch")
        (git {} "clone" repo "--refer" gitdir checkout))
      (git g "checkout" sha) ; must detach head for update...
      (git g "branch" "-f" branch sha)
      (git g "checkout" branch)
      (sh "rm" "-f" pdir)

                           (do (fetch-all dirs)
                               (locate-sha dirs sha)))]
    (mapcat (fn [c]
              (safe-checkout c sha)
              (find-project groupId artifactId c))
            sha-candidates)))

