Message ID | 20240228210954.693154-1-kmatsui@gcc.gnu.org |
---|---|
State | New |
Headers | show |
Series | contrib/gcc-changelog/git_check_commit.py: Implement --num-commits | expand |
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. > > contrib/ChangeLog: > > * gcc-changelog/git_check_commit.py: Implement --num-commits. LGTM > > Signed-off-by: Ken Matsui <kmatsui@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 > >
On Fri, Mar 8, 2024 at 8:42 AM Patrick Palka <ppalka@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. > > > > contrib/ChangeLog: > > > > * gcc-changelog/git_check_commit.py: Implement --num-commits. > > LGTM > > > > > Signed-off-by: Ken Matsui <kmatsui@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 > > > > >
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'
This patch implements a --num-commits (-n) flag for shorthand for the range of hash~N..hash commits. contrib/ChangeLog: * gcc-changelog/git_check_commit.py: Implement --num-commits. Signed-off-by: Ken Matsui <kmatsui@gcc.gnu.org> --- contrib/gcc-changelog/git_check_commit.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+)