Mercurial > piecrust2
diff util/generate_changelog.py @ 572:442cf576ae25
cm: CHANGELOG generator can handle future versions.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Sat, 31 Oct 2015 21:46:05 -0700 |
parents | 9a00e694b42c |
children | 7940861ff9bc |
line wrap: on
line diff
--- a/util/generate_changelog.py Sat Oct 31 08:59:53 2015 -0700 +++ b/util/generate_changelog.py Sat Oct 31 21:46:05 2015 -0700 @@ -1,7 +1,8 @@ import os import os.path import re -import sys +import time +import argparse import subprocess @@ -32,11 +33,18 @@ def generate(): - out_file = 'CHANGELOG.rst' - if len(sys.argv) > 1: - out_file = sys.argv[1] + parser = argparse.ArgumentParser(description='Generate CHANGELOG file.') + parser.add_argument( + 'out_file', + nargs='?', + default='CHANGELOG.rst', + help='The output file.') + parser.add_argument( + '--last', + help="The version for the last few untagged changes.") + args = parser.parse_args() - print("Generating %s" % out_file) + print("Generating %s" % args.out_file) if not os.path.exists('.hg'): raise Exception("You must run this script from the root of a " @@ -49,7 +57,7 @@ templates = _get_templates() - with open(out_file, 'w') as fp: + with open(args.out_file, 'w') as fp: fp.write(templates['header']) skip = False @@ -57,6 +65,13 @@ current_version = 0 current_version_info = None current_changes = None + + if args.last: + current_version = 1 + cur_date = time.strftime('%Y-%m-%d') + current_version_info = args.last, cur_date + current_changes = {} + for line in hglog.splitlines(): if line == '': skip = False