Do we need to call git_remote_disconnect in case of error in git_remote_download or git_remote_update_tips?
What happens if we call it everytime before we call git_remote_free?