   (:use clj-message-digest.core)
   (:require [clojure.java.io :as io])
   (:require [clojure.spec.alpha :as s])
+  (:require [clojure.spec.test.alpha :as stest])
   (:use clj-git.util)
   (:use clj-git.repo)
   (:gen-class))

      (throw (Exception. 
               (str "Ambiguous object prefix '" hash-prefix "'")))
      :else (second (first matches)))))

(defn read-object [hash-prefix]
  (let [hash-hex (complete-hash hash-prefix)

                         (.getName %)) are-files)]
    (filter is-valid-hash-str names)))

(s/fdef complete-hash
  :args (s/cat :hash-prefix ::sha-1-prefix)
  :ret ::sha-1-hash
)

(defn complete-hash [hash-prefix]
  (let [len (count hash-prefix)
        all (all-objects)
        ps (map #(subs % 0 len) all)
