| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | #!/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",      "src/google/protobuf/compiler/java",  ]),  Language("Python", [      "python",      "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/protocolbuffers/protobuf/commit/<commit id>")
 |