'Finally call the Git client\'s pull!
:return: (changelog, local_head_id, target_commit)'

def __update_impl(self):

    self._notify(VersionMgr.ON_UPDATE)
    try:
        changelog = self._client.pull()
    except GitClientError as exc:
        msg = ('%s' % exc)
        self._notify(VersionMgr.ON_ACTION_ERROR, msg)
        return
    else:
        self._start_cfg.last_commit_id = changelog.end
        self._start_cfg.last_upd = date.today()
        self._start_cfg.save()
        self.reload_all_modules()
        if self._added_new_dependencies(changelog):
            self._notify(VersionMgr.ON_UPDATE_ADDED_DEP)
        if self.callback_onupdate_show_log:
            changelog_str = (lambda : str(changelog))
            self.callback_onupdate_show_log('Do    you    want    to    see    a    change    log?', changelog_str)
    return (changelog, changelog.start, changelog.end)
