def get_forthcoming_changes(vcs_client, skip_merges=False): tags = _get_version_tags(vcs_client) latest_tag_name = _get_latest_version_tag_name(vcs_client) # query log entries since latest tag only tag2log_entries = {} from_tag = Tag(None) to_tag = Tag(latest_tag_name) for tag in sorted_tags(tags): if to_tag.name is None: to_tag = tag # ignore non-forthcoming log entries but keep version to identify injection point of forthcoming tag2log_entries[tag] = None log_entries = vcs_client.get_log_entries( from_tag=from_tag.name, to_tag=to_tag.name, skip_merges=skip_merges) tag2log_entries[from_tag] = log_entries return tag2log_entries
def get_all_changes(vcs_client, skip_merges=False): tags = _get_version_tags(vcs_client) # query all log entries per tag range tag2log_entries = {} previous_tag = Tag(None) for tag in sorted_tags(tags): log_entries = vcs_client.get_log_entries( from_tag=previous_tag.name, to_tag=tag.name, skip_merges=skip_merges) tag2log_entries[previous_tag] = log_entries previous_tag = tag log_entries = vcs_client.get_log_entries( from_tag=previous_tag.name, to_tag=None, skip_merges=skip_merges) tag2log_entries[previous_tag] = log_entries return tag2log_entries