Hello.

Based on the initial discussion with Richi and Jakub, we would like to remove
need to update ChangeLog files with each git commit. Instead, a script will be
used to extract ChangeLog entries from a git commit messages.

I've started with extraction of ~2K commits since we switched to git (via git 
format-patch).
The script [1] parses majority of the git commits and provides error message 
when a format
is not supported. We currently support rich variety of formats and I tried to 
document
that here: [2]. Analysis of the existing commits can be seen here: [3] and the 
script
can now parse 1471/2032 of git commits.

The script can also generate a final version of ChangeLog entries, e.g.:

$ ./changelog.py patches/1957-c-generic-lambda-forwarding-function-PR94546.patch
OK
------ gcc/cp/ChangeLog ------
2020-04-22  Jason Merrill  <ja...@redhat.com>

        PR c++/94546
        * pt.c (register_parameter_specializations): If the instantiation is
        still a parameter pack, don't wrap it in a NONTYPE_ARGUMENT_PACK.
        (tsubst_pack_expansion, tsubst_expr): Adjust.
------ gcc/testsuite/ChangeLog ------
2020-04-22  Jason Merrill  <ja...@redhat.com>

        gcc/testsuite/g++.dg/cpp2a/lambda-generic-variadic20.C: New file.

Currently supported features can be seen here: [4]. Feel free to test the script
and suggest what can we improve. Our integration plan is to come up with
a new git hook that will first work only in a reporting mode (no commits 
refusal).
Later on, we can add the automatic generation of ChangeLog entries.

Martin

[1] https://github.com/marxin/gcc-changelog
[2] https://github.com/marxin/gcc-changelog#supported-changelog-format
[3] https://raw.githubusercontent.com/marxin/gcc-changelog/master/report.txt
[4] https://github.com/marxin/gcc-changelog/issues/1#issuecomment-620162080

Reply via email to