   getTitle: ->
     'Yeah, view that diff!'
 
-  renderCommit: (commit) ->
+  renderHistory: ->
+    new Promise (resolve, reject) =>
+      @history.walkHistory (commit) =>
+        promise = @renderCommitSummary(commit)
+        resolve(commit)
+        promise
+    .then (firstCommit) =>
+      @renderCommitDetail(firstCommit.sha())
+
+  renderCommitSummary: (commit) ->
     # We still dont have a good view framework yet
     commitNode = TemplateHelper.renderTemplate(@commitTemplate)
     commitNode.querySelector('.sha').textContent = commit.sha()

        commitNode = commitNode.parentNode
      if commitNode?
        sha = commitNode.querySelector('.sha').textContent
        @renderDiff(sha)

    @commitTemplate = TemplateHelper.addTemplate(this, CommitTemplateString)

    @renderHistory().catch (error) ->
      console.error error.message, error

    commitNode.firstElementChild.id = "sha-#{commit.sha()}"
    @historyNode.appendChild(commitNode)

  renderCommitDetail: (sha) ->
    @diffsNode.innerHTML = ''

    for commitNode in @querySelectorAll('.commit')
