15 Commits

Author SHA1 Message Date
John Thacker
293cb0ccf8 tools: Allow GitLab's "Cherry-pick" commits
git cherry-pick -x adds a line, with extra newline, like

(cherry picked from ...)

The GitLab GUI's "Cherry-pick" button started creating cherry-picked
commits that are *almost* the same, but with an extra hyphen:

(cherry-picked from ...)

Allow those too.
2025-02-12 15:53:19 -05:00
Joerg Mayer
bd05df0c55 validate-commit.py: Fix to allow no commit id
Commit 7fda930fe71bfe3a6aa53421fced438eb25554e4 changed the number
of allowed commits from 0-1 ('?') to 1-lots ('+). At least in my
setup with git version 2.39.5 (Apple Git-154), a normal commit will
still not pass a commit id. So change to pass 0-lots ('*') instead.
2025-02-03 20:58:37 +01:00
Gerald Combs
7fda930fe7 tools: Add multiple commit support to validate-commit.py 2024-12-03 13:38:26 -08:00
Martin Mathieson
e3e52d8c74 Fix up some python script issues seen with ruff 2024-07-12 15:08:46 +00:00
Gerald Combs
c538dd9ff9 tools: Add a protected branch check to validate-commit.py 2024-01-24 02:55:15 +00:00
Joerg Mayer
5fc88c671a Strip comment lines before validating format
Fixes the problem that a one line commit message followed by the default
comment lines was rejected.
2021-06-11 16:46:13 +02:00
Martin Mathieson
4981b10d0b Add a commit-msg that may be installed to verify commit msg line length. 2021-03-23 09:09:19 +00:00
Gerald Combs
404802dc34 Tools: skip commit validation for merge trains.
Skip commit validation if it looks like we're in a GitLab merge train.
2020-12-12 10:20:40 +01:00
Gerald Combs
dd6b6f48dc Tools: Allow cherry pick lines in validate-commit.py.
Cherry picking tends to add an extra blank line to the commit message.
Update the body check in validate-commit.py to allow for this.
2020-11-04 21:01:52 +00:00
Gerald Combs
fd075df3f8 tools: Make the "Allow commits" error more obnoxious.
Add ANSI codes and emoji so that the error stands out in the pipeline
output. Clarify the text.
2020-09-04 09:22:04 +00:00
Gerald Combs
7476911490 tools: Force "Allow commits from members..." in merge requests.
Add a verify_merge_request routine to validate-commit.py. If the
required CI_MERGE_REQUEST_XXX environment variables are set it uses them
to query the GitLab API to see if "allow_collaboration" is true in the
current merge request.

This is a ham-fisted way of ensuring that committers can rebase and can
be removed if and when https://gitlab.com/gitlab-org/gitlab/-/issues/23308
is fixed.
2020-09-02 18:44:05 -07:00
Gerald Combs
50550708cc Add merge request jobs to GitLab CI and migrate commit validation.
Copy the Buildbot petri dish builder steps to corresponding GitLab CI
jobs. Update validate-commit.py to look for old "Bug:" and "Ping-Bug:"
references and have it call `git stripspace` directly. tools/commit-msg
was specific to Gerrit, so remove it.

Change-Id: Icbc54709052f44c941db9ad6a5dcf596292782a2
2020-08-23 17:46:18 -07:00
Peter Wu
e04fdf59bf tools: exclude Revert prefixes from 80 chars limit
When commits are reverted, the subject line might exceed 80 chars.
Adjust the pre-commit hook to gracefully handle a higher length and let
validate-commit.py (as used by Petri-Dish) validate the original subject
length.

Change-Id: I54f2a99f95b7fca2f683aa1e98f0349dcf4ed1b7
Reviewed-on: https://code.wireshark.org/review/31120
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-12-20 05:43:24 +00:00
Peter Wu
7c2d8972de tools/validate-commit.py: enforce short summary followed by blank line
To keep git logs readable, enforce a short summary line. Strive for 80
characters, reject everything past 120. Descriptions should also stay
under 80 characters, but as error messages and links to protocol
specifications can be quite long, do not check the description.

Change-Id: Ife46b9ef6330aab015fc4ee5cc774a8ef6b9ad4e
Reviewed-on: https://code.wireshark.org/review/30667
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-21 04:31:13 +00:00
Peter Wu
0f3a4db657 tools/validate-commit.py: post-commit hook to check for commit issues
During review we might overlook issues with the commit messages. Some
commits somehow ended up IP addresses or local VM hostnames as author
address. Automate detecting such issues as well as other whitespace
issues with the commit message itself (detected by commit-msg).

Note: when installing as post-commit hook, it will also be executed when
doing things like 'git reset --hard'.

Change-Id: Ic638e7f51d89277ac359c04764effb69eb4f2fa1
Reviewed-on: https://code.wireshark.org/review/30225
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-18 04:51:00 +00:00