On Mon, May 6, 2024 at 9:20 AM Jason Merrill <ja...@redhat.com> wrote: > > On 5/6/24 09:25, Ken Matsui wrote: > > On Thu, Mar 14, 2024 at 12:57 AM Ken Matsui <kmat...@cs.washington.edu> > > wrote: > >> > >> On Fri, Mar 8, 2024 at 8:42 AM Patrick Palka <ppa...@redhat.com> wrote: > >>> > >>> On Wed, 28 Feb 2024, Ken Matsui wrote: > >>> > >>>> This patch implements a --num-commits (-n) flag for shorthand for > >>>> the range of hash~N..hash commits. > >> > >> Ping. > > > > Ping. Ok for trunk? > > OK.
Thank you! > > >>>> > >>>> contrib/ChangeLog: > >>>> > >>>> * gcc-changelog/git_check_commit.py: Implement --num-commits. > >>> > >>> LGTM > >>> > >>>> > >>>> Signed-off-by: Ken Matsui <kmat...@gcc.gnu.org> > >>>> --- > >>>> contrib/gcc-changelog/git_check_commit.py | 15 +++++++++++++++ > >>>> 1 file changed, 15 insertions(+) > >>>> > >>>> diff --git a/contrib/gcc-changelog/git_check_commit.py > >>>> b/contrib/gcc-changelog/git_check_commit.py > >>>> index 8cca9f439a5..22e032e8b38 100755 > >>>> --- a/contrib/gcc-changelog/git_check_commit.py > >>>> +++ b/contrib/gcc-changelog/git_check_commit.py > >>>> @@ -22,6 +22,12 @@ import argparse > >>>> > >>>> from git_repository import parse_git_revisions > >>>> > >>>> +def nonzero_uint(value): > >>>> + ivalue = int(value) > >>>> + if ivalue <= 0: > >>>> + raise argparse.ArgumentTypeError('%s is not a non-zero positive > >>>> integer' % value) > >>>> + return ivalue > >>>> + > >>>> parser = argparse.ArgumentParser(description='Check git ChangeLog > >>>> format ' > >>>> 'of a commit') > >>>> parser.add_argument('revisions', default='HEAD', nargs='?', > >>>> @@ -33,8 +39,17 @@ parser.add_argument('-p', '--print-changelog', > >>>> action='store_true', > >>>> help='Print final changelog entires') > >>>> parser.add_argument('-v', '--verbose', action='store_true', > >>>> help='Print verbose information') > >>>> +parser.add_argument('-n', '--num-commits', type=nonzero_uint, default=1, > >>>> + help='Number of commits to check (i.e. shorthand > >>>> for ' > >>>> + 'hash~N..hash)') > >>>> args = parser.parse_args() > >>>> > >>>> +if args.num_commits > 1: > >>>> + if '..' in args.revisions: > >>>> + print('ERR: --num-commits and range of revisions are mutually > >>>> exclusive') > >>>> + exit(1) > >>>> + args.revisions = '{0}~{1}..{0}'.format(args.revisions, > >>>> args.num_commits) > >>>> + > >>>> retval = 0 > >>>> for git_commit in parse_git_revisions(args.git_path, args.revisions): > >>>> res = 'OK' if git_commit.success else 'FAILED' > >>>> -- > >>>> 2.44.0 > >>>> > >>>> > >>> > > >