def parse_commit_log(name, content, releases, get_head_fn): """ Parses the given commit log :param name: str, package name :param content: list, directory paths :param releases: list, releases :param get_head_fn: function :return: dict, changelog """ log = "" raw_log = "" for path, _ in content: log += "\n".join( changelog(repository=GitRepos(path), tag_filter_regexp=r"v?\d+\.\d+(\.\d+)?")) raw_log += "\n" + subprocess.check_output([ "git", "-C", path, "--no-pager", "log", "--decorate" ]).decode("utf-8") shutil.rmtree(path) log = parse(name, log, releases, get_head_fn) return log, raw_log
def simple_changelog(self): ## Currifyed main function return lambda **kw: gitchangelog.changelog( repository=self.repos, output_engine=simple_renderer, **kw)
def test_changelog_group_by_type(): gitlogs = gitlog_parser(log) markdown = changelog(view='type', gitlogs=gitlogs) print(markdown)
def test_changelog_group_by_scope(): gitlogs = gitlog_parser(log) markdown = changelog(view='scope', gitlogs=gitlogs) print(markdown) assert 'add ssh mark' in markdown
def changelog(self): ## Currifyed main function return lambda **kw: gitchangelog.changelog(repository=self.repos, **kw)
def simple_changelog(self): ## Currifyed main function return lambda **kw: gitchangelog.changelog( repository=self.repos, output_engine=simple_renderer, **kw)
def changelog(self): ## Currifyed main function return lambda **kw: gitchangelog.changelog( repository=self.repos, **kw)