aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc-changelog/git_commit.py
AgeCommit message (Collapse)AuthorFilesLines
2022-01-24gcc-changelog: Be stricter for top-level dir.Martin Liska1-3/+9
contrib/ChangeLog: * gcc-changelog/git_commit.py: New files in toplev must be explicitly marked as "New file". * gcc-changelog/test_email.py: Test. * gcc-changelog/test_patches.txt: Add test.
2021-11-04Add -v option for git_check_commit.py.Martin Liska1-2/+5
Doing so, one can see: $ git gcc-verify a50914d2111c72d2cd5cb8cf474133f4f85a25f6 -v Checking a50914d2111c72d2cd5cb8cf474133f4f85a25f6: FAILED ERR: unchanged file mentioned in a ChangeLog: "gcc/common.opt" ERR: unchanged file mentioned in a ChangeLog (did you mean "gcc/testsuite/g++.dg/pr102955.C"?): "gcc/testsuite/gcc.dg/pr102955.c" - gcc/testsuite/gcc.dg/pr102955.c ? ^^ ^ + gcc/testsuite/g++.dg/pr102955.C ? ^^ ^ contrib/ChangeLog: * gcc-changelog/git_check_commit.py: Add -v option. * gcc-changelog/git_commit.py: Print verbose diff for wrong filename.
2021-10-20gcc-changelog: Add libffi/ to ignored_prefixesH.J. Lu1-0/+1
Add libffi/ to ignored_prefixes for syncing with libffi upstream: commit c095f8f2e6f26bfc2ff8e3276c6af23ab153f5ff Author: H.J. Lu <hjl.tools@gmail.com> Date: Tue Aug 31 07:14:47 2021 -0700 libffi: Sync with libffi 3.4.2 Merged commit: f9ea41683444ebe11cfa45b05223899764df28fb to avoid remote: *** The following commit was rejected by your hooks.commit-extra-checker script (status: 1) remote: *** commit: c095f8f2e6f26bfc2ff8e3276c6af23ab153f5ff remote: *** ChangeLog format failed: remote: *** ERR: cannot find a ChangeLog location in message remote: *** remote: *** Please see: https://gcc.gnu.org/codingconventions.html#ChangeLogs remote: *** remote: error: hook declined to update refs/heads/master * gcc-changelog/git_commit.py (ignored_prefixes): Add libffi/.
2021-10-18gcc-changelog: update error message locationMartin Liska1-7/+7
contrib/ChangeLog: * gcc-changelog/git_commit.py: Update location of 'bad parentheses wrapping'. * gcc-changelog/test_email.py: Test it.
2021-09-15gcc-changelog: Add FIXME note.Martin Liska1-0/+1
contrib/ChangeLog: * gcc-changelog/git_commit.py: Add FIXME note.
2021-09-15gcc-changelog: check git commit email addressMartin Liska1-0/+10
contrib/ChangeLog: * gcc-changelog/git_commit.py: Check commit email. * gcc-changelog/test_email.py: Add new test. * gcc-changelog/test_patches.txt: Likewise.
2021-06-13contrib/gcc-changelog: Check that PR in subject is in changelogTobias Burnus1-2/+28
This patch checks that a '[PRnnnn]' and '(PRnnnn)' also appears as PR in the changelog part of the commit message. And it does likewise for 'PR comp/nnnn' except that then also the component name is checked. (Note that the reverse is permitted, i.e. PR(s) only appearing in the changelog.) To avoid false positives, PR numbers in the subject line are ignored, if 'revert' appears. Additionally, reject commits with a nonempty second line. contrib/ChangeLog: * gcc-changelog/git_commit.py (pr_regex): Add ?P<pr> for group('pr'). (subject_pr_regex, subject_pr2_regex): New. (GitInfo.__init__, GitCommit.parse_changelog): Check subject PRs. * gcc-changelog/git_email.py (SUBJECT_PREFIX, subject_patch_regex): New. (GitEmail.__init__): Parse 'Subject:' and pass it to GitInfo. * gcc-changelog/test_email.py (test_pr_only_in_subject, test_wrong_pr_comp_in_subject, test_copyright_years): New. * gcc-changelog/test_patches.txt (0030-PR-c-92746, pr-check1.patch): Update to avoid triggering the new check. (0001-rs6000-Support-doubleword, pr-wrong-comp.patch, copyright-years.patch): New.
2021-05-24gcc-changelog: Add note about ChangeLog entriesMartin Liska1-3/+5
contrib/ChangeLog: * gcc-changelog/git_commit.py: Add note that ChangeLog entries are added automatically. * gcc-changelog/test_email.py: Update test.
2021-05-14gcc-changelog: detect Co-Authored-By before ChangeLog entriesMartin Liska1-1/+2
contrib/ChangeLog: * gcc-changelog/git_commit.py: Support Co-Authored-By before a first ChangeLog entry.
2021-05-12gcc-changelog: respect branch in git_update_version.py.Martin Liska1-1/+1
contrib/ChangeLog: * gcc-changelog/git_commit.py: Simplify needle lookup. * gcc-changelog/git_update_version.py: Pass ref_name to parse_git_revisions.
2021-05-11gcc-changelog: Remove non-strict mode.Martin Liska1-2/+2
contrib/ChangeLog: * gcc-changelog/git_check_commit.py: Remove --non-strict-mode. * gcc-changelog/git_commit.py: Remove strict mode. * gcc-changelog/git_email.py: Likewise. * gcc-changelog/git_repository.py: Likewise. * gcc-changelog/test_email.py: Likewise. * gcc-changelog/test_patches.txt: Update patches so that they don't contain a ChangeLog file changes.
2021-05-11gcc-changelog: Accept ref_name argument in GitCommit.Martin Liska1-9/+20
contrib/ChangeLog: * gcc-changelog/git_commit.py: Remove ChangeLog locations based on ref_name. * gcc-changelog/git_repository.py: Likewise.
2021-05-10contrib/gcc-changelog: Detect if same file appears twiceTobias Burnus1-2/+7
contrib/ChangeLog: * gcc-changelog/git_commit.py (Error.__repr__): Add space after the colon. (GitCommit.check_mentioned_files): Check whether the same file has been specified multiple times. * gcc-changelog/test_email.py (TestGccChangelog.test_multi_same_file): New. * gcc-changelog/test_patches.txt (0001-OpenMP-Fix-SIMT): New test.
2021-05-10Revert "gcc-changelog: Remove components that will be removed."Martin Liska1-0/+2
This reverts commit fea26bad2e5b9078d6a6b16d5e48653e31794273.
2021-05-10gcc-changelog: Remove components that will be removed.Martin Liska1-2/+0
contrib/ChangeLog: * gcc-changelog/git_commit.py: Remove components that will be removed.
2021-04-12gcc-changelog: do not allow space in long lineMartin Liska1-1/+1
contrib/ChangeLog: * gcc-changelog/git_commit.py: Do not allow space in long lines.
2021-04-12mklog: support long filenamesMartin Liska1-2/+4
contrib/ChangeLog: * gcc-changelog/git_commit.py: Support long filenames in entries. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Likewise.
2021-03-12gcc-changelog: allow ChangeLog deletion in a commitMartin Liska1-1/+2
contrib/ChangeLog: * gcc-changelog/git_commit.py: Allow deletion of ChangeLog files. * gcc-changelog/setup.cfg: Set line limit to 120 characters. * gcc-changelog/test_email.py: Add test. * gcc-changelog/test_patches.txt: Likewise. * gcc-changelog/git_email.py: Fix parsing of deleted files.
2021-01-13gcc-changelog: Support multiline parentheses wrappingMartin Liska1-2/+30
contrib/ChangeLog: * gcc-changelog/git_commit.py: Support wrapping of functions in parentheses that can take multiple lines. * gcc-changelog/test_email.py: Add tests for it. * gcc-changelog/test_patches.txt: Add 2 patches.
2021-01-13gcc-changelog: Allow modifications to old ChangeLogs without entryMartin Liska1-3/+9
contrib/ChangeLog: * gcc-changelog/git_commit.py: Allow modifications of older ChangeLog (or specific) files without need to make a ChangeLog entry. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Add new patch.
2021-01-06gcc-changelog: workaround for utf8 filenamesMartin Liska1-8/+18
contrib/ChangeLog: * gcc-changelog/git_commit.py: Add decode_path function. * gcc-changelog/git_email.py: Use it in order to solve utf8 encoding filename issues. * gcc-changelog/git_repository.py: Likewise. * gcc-changelog/test_email.py: Test it.
2021-01-04gcc-changelog: Ignore copyright years commits.Martin Liska1-0/+4
contrib/ChangeLog: * gcc-changelog/git_commit.py: Skip Update copyright years commits.
2020-12-21gcc-changelog: new error for quoted utf8 filenamesMartin Liska1-0/+8
contrib/ChangeLog: * gcc-changelog/git_commit.py: Add new error for quoted filenames. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Test it.
2020-12-15Add toplevel dirsNathan Sidwell1-0/+2
contrib/ * gcc-changelog/git_commit.py (changelog_locations): Add libcody, c++tools.
2020-11-30changelog: add hint for a file mismatchMartin Liska1-0/+4
contrib/ChangeLog: * gcc-changelog/git_commit.py: Suggest close file for 'unchanged file mentioned in a ChangeLog' error. * gcc-changelog/test_email.py: Test it.
2020-11-30changelog: allow subdir wildcard entryMartin Liska1-2/+2
contrib/ChangeLog: * gcc-changelog/git_commit.py: Allow sub-directory wildcard changelog entry. Fix a typo caused by apostrophe escaping. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Likewise.
2020-11-30gcc-changelog: Add libstdc++-v3/testsuite to wildcard prefixesJonathan Wakely1-1/+2
This allows using "testsuite/*" in libstdc++-v3/ChangeLog entries, which was one of the original motivations for adding wildcard support in the first place: https://gcc.gnu.org/pipermail/gcc/2020-June/232719.html contrib/ChangeLog: * gcc-changelog/git_commit.py (wildcard_prefixes): Add libstdc++ testsuite directory.
2020-11-30changelog: Allow wildcard pattern only.Martin Liska1-1/+1
contrib/ChangeLog: * gcc-changelog/git_commit.py: Allow wildcard pattern only.
2020-11-27changelog: allow flexible "cherry picked" format.Martin Liska1-9/+11
It handles the following: (cherry picked from commit c0c7270cc4efd896fe99f8ad5409dbef089a407f (testsuite changes only)) contrib/ChangeLog: * gcc-changelog/git_commit.py: Use regex for cherry pick prefix. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Likewise.
2020-11-25changelog: fix parsing of a revert commitMartin Liska1-13/+14
contrib/ChangeLog: * gcc-changelog/git_commit.py: Use revert_regex instead of string prefix. Convert sets to literals.
2020-11-06gcc-changelog: prevent double cherry-pick lineMartin Liska1-1/+5
contrib/ChangeLog: * gcc-changelog/git_commit.py: Add new check. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Add new patch.
2020-11-04gcc-changelog/git_commit.py: Check for missing descriptionTobias Burnus1-2/+5
Especially when using mklog.py, it is simply to forget to fill in the entries after the '\t* file.c (section):' or '\t(section):'. contrib/ChangeLog: * gcc-changelog/git_commit.py (item_parenthesis_empty_regex, item_parenthesis_regex): Add. (check_for_empty_description): Use them. * gcc-changelog/test_email.py (test_emptry_entry_desc, test_emptry_entry_desc_2): Add. * gcc-changelog/test_patches.txt: Add two testcases for it.
2020-10-30gcc-changelog: Handle situations like '* tree-vect-slp.c (): 'Martin Liska1-0/+7
contrib/ChangeLog: * gcc-changelog/git_commit.py: Handle empty groups in file description. * gcc-changelog/test_email.py: New test. * gcc-changelog/test_patches.txt: Likewise.
2020-07-23gcc-changelog: fix when somebody reverts a backportMartin Liska1-9/+10
contrib/ChangeLog: * gcc-changelog/git_commit.py: When reverting a backport, we should print only Revert header.
2020-07-07accept <case> and [cond] in ChangeLogAlexandre Oliva1-8/+8
Only '(' and ':' currently terminate file lists in ChangeLog entries in the ChangeLog parser. This rules out such legitimate entries as: * filename <CASE>: * filename [COND]: This patch extends the ChangeLog parser to recognize these forms. for contrib/ChangeLog * gcc-changelog/git_commit.py: Support CASE and COND. * gcc-changelog/test_patches.txt: Add test. * gcc-changelog/test_email.py: Add test. Co-Authored-By: Martin Liska <mliska@suse.cz>
2020-06-30gcc-changelog: support 'This revert commit' prefix.Martin Liska1-2/+20
contrib/ChangeLog: * gcc-changelog/git_check_commit.py: Print revision of original_info. * gcc-changelog/git_commit.py: Support Revert commits.
2020-06-30gcc-changelog: come up with GitInfo wrapper.Martin Liska1-21/+25
contrib/ChangeLog: * gcc-changelog/git_check_commit.py: Use GitInfo * gcc-changelog/git_commit.py: Add GitInfo class. * gcc-changelog/git_email.py: Use GitInfo class. * gcc-changelog/git_repository.py: Likewise.
2020-06-18gcc-changelog: fix Backported from timestamp.Martin Liska1-1/+5
contrib/ChangeLog: * gcc-changelog/git_commit.py: Fix Backported from timestamp when use_commit_ts=True is used.
2020-06-17gcc-changelog: Support 'Backported from master'.Martin Liska1-8/+31
contrib/ChangeLog: * gcc-changelog/git_commit.py: Print 'Backported from master' heading to backported commits. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Add new patch. * gcc-changelog/git_repository.py: Add commit_to_date hook. * gcc-changelog/git_email.py: Add fuzzy implementation of commit_to_date_hook.
2020-06-10gcc-changelog: fix parse_git_name_status for renames.Martin Liska1-1/+1
Renamed files are listed in the following format: M gcc/ada/Makefile.rtl M gcc/ada/impunit.adb R097 gcc/ada/libgnat/s-atopar.adb gcc/ada/libgnat/s-aoinar.adb R095 gcc/ada/libgnat/s-atopar.ads gcc/ada/libgnat/s-aoinar.ads A gcc/ada/libgnat/s-aomoar.adb A gcc/ada/libgnat/s-aomoar.ads So 'R' is followed by a percentage number. contrib/ChangeLog: * gcc-changelog/git_commit.py: Fix renamed files in parse_git_name_status. * gcc-changelog/test_email.py: Add test for it.
2020-06-10gcc-changelog: add more Review by prefixes.Martin Liska1-5/+3
contrib/ChangeLog: * gcc-changelog/git_commit.py: Add more supported prefixes. * gcc-changelog/test_email.py: Fix one flake8 error. * gcc-changelog/test_patches.txt: Add tested for newly supported prefixes.
2020-06-10gcc-changelog: Improve git_commit.py diagnosticsJonathan Wakely1-8/+8
This changes some error messages to be more self-consistent and to fix some grammar. contrib/ChangeLog: * gcc-changelog/git_commit.py (GitCommit.parse_changelog): Improve error strings. * gcc-changelog/test_email.py: Update expected errors.
2020-06-09gcc-changelog: fix deduction for root ChangeLogMartin Liska1-2/+3
contrib/ChangeLog: * gcc-changelog/git_commit.py: Fix ChangeLog regex in order to match the top-level ChangeLog. * gcc-changelog/test_email.py: Add test. * gcc-changelog/test_patches.txt: Likewise.
2020-06-02gcc-changelog: support patternsMartin Liska1-8/+44
contrib/ChangeLog: * gcc-changelog/git_commit.py: Support foo/bar/*: patterns in wildcard_prefixes locations. * gcc-changelog/test_email.py: Test it. * gcc-changelog/test_patches.txt: Add 3 new patches.
2020-06-02contrib: Add gdc.test to list of ignored prefixesIain Buclaw1-0/+1
The files in this subdirectory are part of the D2 test suite maintained in the upstream DMD code repository. contrib/ChangeLog: * gcc-changelog/git_commit.py (ignored_prefixes): Add gcc/testsuite/gdc.test/.
2020-06-02gcc-changelog: Improve error text for overlong ChangeLog linesJonathan Wakely1-1/+1
This error is wrong, the line is what exceeds LINE_LIMIT characters, the limit doesn't exceed itself. contrib/ChangeLog: * gcc-changelog/git_commit.py (GitCommit.parse_changelog): Fix grammar.
2020-06-02contrib: Improve comments and error textJonathan Wakely1-3/+3
* gcc-changelog/git_commit.py (GitCommit.check_mentioned_files): Improve error text.
2020-05-29Error for missing change description in git_commit.py.Martin Liska1-0/+10
contrib/ChangeLog: * gcc-changelog/git_commit.py: Find empty change descriptions. * gcc-changelog/test_email.py: New test. * gcc-changelog/test_patches.txt: New patch that tests that.
2020-05-29git_commit: fix duplicite email address.Martin Liska1-1/+7
The patch is about to handle situations like seen in 3ea6977d0f1813d982743a09660eec1760e981ec. contrib/ChangeLog: * gcc-changelog/git_commit.py: Properly handle duplicite authors. * gcc-changelog/test_email.py: New test. * gcc-changelog/test_patches.txt: New patch.
2020-05-26gcc-changelog: handle entries with multi-line file listsPierre-Marie de Rodat1-0/+18
This extends the ChangeLog entries parsing machinery to handle entries that cover multiple files spanning over multiple lines. For instance: * first_file_patched.c, second_file_patched.c, third_file_patched.c, fourth_file_patched.c: Do things. contrib/ * gcc-changelog/git_commit.py (ChangeLogEntry): Handle entries with multi-line file lists. * gcc-changelog/test_email.py: New testcase. * gcc-changelog/test_patches.txt: Likewise.