| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | #!/usr/bin/env python"""Generates a friendly list of changes per language since the last release."""import sysimport osclass Language(object):  def __init__(self, name, pathspec):    self.name = name    self.pathspec = pathspeclanguages = [  Language("C++", [      "':(glob)src/google/protobuf/*'",      "src/google/protobuf/compiler/cpp",      "src/google/protobuf/io",      "src/google/protobuf/util",      "src/google/protobuf/stubs",  ]),  Language("Java", [      "java",      "javanano",      "src/google/protobuf/compiler/cpp",  ]),  Language("Python", [      "javanano",      "src/google/protobuf/compiler/python",  ]),  Language("JavaScript", [      "js",      "src/google/protobuf/compiler/js",  ]),  Language("PHP", [      "php",      "src/google/protobuf/compiler/php",  ]),  Language("Ruby", [      "ruby",      "src/google/protobuf/compiler/ruby",  ]),  Language("Csharp", [      "csharp",      "src/google/protobuf/compiler/csharp",  ]),  Language("Objective C", [      "objectivec",      "src/google/protobuf/compiler/objectivec",  ]),]if len(sys.argv) < 2:  print("Usage: generate_changelog.py <previous release>")  sys.exit(1)previous = sys.argv[1]for language in languages:  print(language.name)  sys.stdout.flush()  os.system(("git log --pretty=oneline --abbrev-commit %s...HEAD %s | " +             "sed -e 's/^/ - /'") % (previous, " ".join(language.pathspec)))  print("")print("To view a commit on GitHub: " +      "https://github.com/google/protobuf/commit/<commit id>")
 |