Compare branches, tags or commits

        :param project_id: The ID of a project
        :param from_id: the commit sha or branch name
        :param to_id: the commit sha or branch name
        :return: commit list and diff between two branches tags or commits provided by name
        :raise: HttpError: If invalid response returned

def compare_branches_tags_commits(self, project_id, from_id, to_id):
        """
        Compare branches, tags or commits

        :param project_id: The ID of a project
        :param from_id: the commit sha or branch name
        :param to_id: the commit sha or branch name
        :return: commit list and diff between two branches tags or commits provided by name
        :raise: HttpError: If invalid response returned
        """
        data = {'from': from_id, 'to': to_id}

        request = requests.get(
            '{0}/{1}/repository/compare'.format(self.projects_url, project_id),
            params=data, verify=self.verify_ssl, auth=self.auth, timeout=self.timeout,
            headers=self.headers)

        if request.status_code == 200:
            return request.json()
        else:
            return False