 ;;; lst is like: ("Author:..." "Date:..." ....""...)
 (defn parse-log-head
    [lst ]
-   (->commit-rec (get-commit-author (nth lst 0))
-                 (get-commit-date (nth lst 1))
-                 (get-commit-revision (nth lst 2))
-                 (get-commit-message (nth lst 3))))
+   (->commit-rec (get-commit-field lst "Author")
+                 (get-commit-field lst "Date")
+                 (get-commit-field lst "Commit")
+                 (get-commit-message lst)))
 
 ;;; "-" "1" ->  0 1
 (defn get-line-count

(defn is-log?
  [line]
  (.startsWith line "LOG"))

(defn is-author?
  [line]
  (.startsWith line "Author"))
(defn is-date?
  [line]
  (.startsWith line "Date"))
(defn is-commit?
  [line]
  (.startsWith line "Commit"))
(defn is-message?
  [line]
  (.startsWith line "Message"))

(defn get-log-seq
  [project-url ]

(defn parse-log-rec
  [lst]
(->log-rec (parse-log-head lst)
           (parse-changeset (drop (+ 2 (find-index-of "END" lst)) lst))))
  
;;; parse output from git log
(defn parse-git-log
  [project-url]
  (for [lst (get-log-seq project-url)]
    (parse-log-rec lst)))

(defn insert-git-log
  [project-url branch]
