#!/usr/bin/env python3 from __future__ import print_function import fnmatch import os import subprocess starttag = "v19.08-rc0" endtag = "HEAD" emit_md = True apifiles = [] for root, dirnames, filenames in os.walk("."): for filename in fnmatch.filter(filenames, "*.api"): apifiles.append(os.path.join(root, filename)) for f in apifiles: commits = subprocess.check_output( ["git", "log", "--oneline", starttag + ".." + endtag, f] ) if commits: if f[0:2] == "./": f = f[2:] if emit_md: print("| @c %s ||" % f) print("| ------- | ------- |") for line in commits.splitlines(): parts = line.strip().split() commit = parts[0] message = b" ".join(parts[1:]).decode().replace("|", r"\|") print( "| [%s](https://gerrit.fd.io/r/gitweb?" "p=vpp.git;a=commit;h=%s) | %s |" % (commit, commit, message) ) print() else: print(f) print(commits)