reimplemented iter_commits() and refresh()