Branch: refs/heads/yves/exclude_contrib
Home: https://github.com/Perl/perl5
Commit: 6e2e4758a13668a7c0e54140df5e5742fe186026
https://github.com/Perl/perl5/commit/6e2e4758a13668a7c0e54140df5e5742fe186026
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M .mailmap
Log Message:
-----------
.mailmap - add missing entries using updateAUTHORS.pl
Currently Porting/updateAUTHORS.pl and t/porting/authors.t (via
checkAUTHORS.pl) have slightly different ideas of when data is missing,
specifcially updateAUTHORS.pl cares about .mail and checkAUTHORS.pl does
not so changes expected in .mailmap creep in undetected.
This updates the .mailmap file prior to making other changes to
updateAUTHORS.pl.
Commit: 2d973765e5889270cc65b1161ba756635b90fc65
https://github.com/Perl/perl5/commit/2d973765e5889270cc65b1161ba756635b90fc65
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M perl.h
Log Message:
-----------
perl.h - see if this makes cygwin happy
There is no attribute visibility on cygwin apparently, and the warnings
seem to overwhelm the cygwin build process.
Commit: 3e1e1ffed26e0965f579a11fdc0310059e6e3999
https://github.com/Perl/perl5/commit/3e1e1ffed26e0965f579a11fdc0310059e6e3999
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M MANIFEST
M Porting/README.pod
M Porting/updateAUTHORS.pl
A Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pl - split into module Porting/updateAUTHORS.pm
As we extend the module logic mixing the docs for the module and the
command line tool becomes problematic, and it is pain passing around the
state via distinct variables. This is first step to moving to a simpler
model. We don't make much use of the OO in this patch at all, that will
come in a follow up patch.
Commit: 12a03c866e3df369c6384ad15b7eea37a423d35b
https://github.com/Perl/perl5/commit/12a03c866e3df369c6384ad15b7eea37a423d35b
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pm - use object to store state and avoid passing args
It is much cleaner when the object stores its state internally. That
way we don't have to adjust the transitive caller graph when we need
something new.
Also normalize some var names, we were using "author_info" and
"authors_info" in a way that was confusing, now it is consistently
"author_info".
Commit: bf3bc2f8fb2fd964cacd38324356af8c5df2a727
https://github.com/Perl/perl5/commit/bf3bc2f8fb2fd964cacd38324356af8c5df2a727
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
Log Message:
-----------
updateAUTHORS.pl - rework to use the hash of options to GOL
It is easier to extend and integrate with the OO logic if we
have Getopt::Long populate a hash of options.
Commit: eb06399542ce5dc6981895fc2411677e31a20e77
https://github.com/Perl/perl5/commit/eb06399542ce5dc6981895fc2411677e31a20e77
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pm - don't update files if they don't change
If we want to just check if the files are up to date we dont want
to have to write to the disk. We will use this in a future patch.
Commit: 4f1248b695dc13561ad846be30157c3eac6cd67e
https://github.com/Perl/perl5/commit/4f1248b695dc13561ad846be30157c3eac6cd67e
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
Log Message:
-----------
updateAUTHORS.pl - add support for --tap
This emulates the test feature in checkAUTHORS.pl. We eval the tests to
avoid loading Test::More, but I might change that in a follow up patch.
Commit: 62df2719b5d9d880f8cbb680d6db013b14189a17
https://github.com/Perl/perl5/commit/62df2719b5d9d880f8cbb680d6db013b14189a17
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
Log Message:
-----------
updateAUTHORS.pl - add support for verbose
Makes it easy to add diagnostics while developing.
Commit: c0f76b00262843d2937b6c84edb0a0d54ef6434a
https://github.com/Perl/perl5/commit/c0f76b00262843d2937b6c84edb0a0d54ef6434a
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
Log Message:
-----------
updateAUTHORS.pl - add support for selecting the commit range
checkAUTHORS.pl has this capability, so we need it in updateAUTHORS.pl
as well.
Commit: 742d895d97ea62e5c555ed93d469a25fc02e43cc
https://github.com/Perl/perl5/commit/742d895d97ea62e5c555ed93d469a25fc02e43cc
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M MANIFEST
M Porting/README.pod
A Porting/exclude_contrib.txt
M Porting/updateAUTHORS.pl
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.p[lm] - add a way to exclude missing users
This adds a new file F<Porting/exclude_contrib.txt> which contains the
base-64 SHA-256 of the user credentials that are to be excluded from
AUTHORS and .mailmap files (and perldelta when it is updated on
release). Once added the user will not be readded.
Currently the idea is that if you want to remove yourself or exclude
yourself you remove your entries from AUTHORS and .mailmap and then use
the --exclude-missing option to updateAUTHORS.pl, which then notices you
are missing and updates the exclude file appropriately. Later patches
will build on this.
Commit: 0ef607b82233a99114d4acf690b62a48bfb91fe7
https://github.com/Perl/perl5/commit/0ef607b82233a99114d4acf690b62a48bfb91fe7
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pm - add support for reports like checkAUTHORS.pl has
Adds the --stats, --files, --who, and related options similar to
what checkAUTHORS.pl offers. See perldoc Porting/updateAUTHORS.pl for
the list of options it supports.
Commit: 57e3837e25e1e0985375fb7838f7fed40712b316
https://github.com/Perl/perl5/commit/57e3837e25e1e0985375fb7838f7fed40712b316
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pm - Fix windows support for git operations
Binmode the pipe, use tabs not nulls, and on windows use double quotes
not single quotes for arguments to subprocess scripts.
Since we weren't using Porting/updateAUTHORS.pm as part of our test
pipeline we didn't know it didnt work on Windows builds.
Commit: 1066e1726a29e95ac599af582410c94ea55fec39
https://github.com/Perl/perl5/commit/1066e1726a29e95ac599af582410c94ea55fec39
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pm - rename _sorted_hash_keys to __sorted_hash_keys
This was overlooked when we migrated to OO.
Commit: 3040121d2537d3f61d710f3db018db0b1cb7f48c
https://github.com/Perl/perl5/commit/3040121d2537d3f61d710f3db018db0b1cb7f48c
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
Log Message:
-----------
updateAUTHORS.pl - improved pod
Improved POD verbiage.
Commit: 90f5b17d05b16a45ff8884252253b9125af651cb
https://github.com/Perl/perl5/commit/90f5b17d05b16a45ff8884252253b9125af651cb
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
Log Message:
-----------
updateAUTHORS.pl - Add debugging option
This is helpful when adding a new option to updateAUTHORS.pl
Commit: 29189ce5ea564d927612929d3d60302259b15622
https://github.com/Perl/perl5/commit/29189ce5ea564d927612929d3d60302259b15622
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M AUTHORS
Log Message:
-----------
AUTHORS - update the blurb
The blurb is missing info and mentions checkAUTHORS.pl, at the very
least we should point at updateAUTHORS.pl instead.
Commit: 73feb4ca4197964aefc9c0548145f9e9a4c47b21
https://github.com/Perl/perl5/commit/73feb4ca4197964aefc9c0548145f9e9a4c47b21
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.p[lm] - detect if committing uncommitted code could break
We are trying to check if the AUTHORS and .mailmap files are up to date
but if a new author, or an author who has changed their git config,
is doing the testing then we might pass the test before we commit but
fail afterwards, this detects if that would happen.
The script implements the same logic that `git commit` uses to decide
what identity a user uses.
Commit: 12fa4ef4a79296ee1e09e7444362d33ca6f1d3a3
https://github.com/Perl/perl5/commit/12fa4ef4a79296ee1e09e7444362d33ca6f1d3a3
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M .mailmap
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pm - remove redundant data from .mailmap
A number of devs have noted and raised concerns that having .mailmap
entries where the LHS and RHS of the entry is redundant. A few have also
expressed the view that this exposes unnecessarily exposes their email
address in an easily harvestible form.
On the technical level as far as git specifically is concerned it is
true this data is redundant, as git uses .mailmap to transform user data
that match the RHS of an entry into the value on LHS, and when they are
the same obviously it is a no-op. However on the technical level for our
infra these entries are not redundant. We can use them to identify and
correctly respond to many cases of manual update of the AUTHORS file,
for instance changing ones preferred name. With the .mailmap entries we
have the data to identify the old preferred name, and join it together
with the unchanged email for the user and then automatically update
their .mailmap entries. This is why these entries were created
originally.
However, I believe that this functionality is not useful enough to
require us to have discussions with contributors on this subject on a
regular basis. We can add command line options that allow people to
change the AUTHORS file and the .mailmap file properly, so we can drop
the "redundant" data and avoid the need to talk about why it is there.
The required functionality for changing names will come in a follow up
patch in this PR.
Commit: 68d21027e93a3c8c80ef71d962c88b23982d0856
https://github.com/Perl/perl5/commit/68d21027e93a3c8c80ef71d962c88b23982d0856
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M AUTHORS
M Porting/updateAUTHORS.pl
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.p[lm] - Add a way to rename authors properly
With the removal of the redundant data from .mailmap we lacked a way to
rename an author properly. Previously someone could manually update a
name or email in AUTHORS files and things would "just work" as the
.mailmap file would tell us the old mapping. Now we have removed those
mappings we need a way to easily rename someones canonical data. This
also means manually changing the AUTHORS file is now a problem.
Commit: 6e6e4520aa712137644b95f240b8a044ce41da2f
https://github.com/Perl/perl5/commit/6e6e4520aa712137644b95f240b8a044ce41da2f
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/updateAUTHORS.pl
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.p[lm] - Provide command line options for removing users
Add support for --exclude-me and --exclude-contrib=NAME_AND_EMAIL.
Simpler than them having to make a manual change or a commit.
Commit: d0e3671bdc4d206a8f14c73da2a9ebf6030d495f
https://github.com/Perl/perl5/commit/d0e3671bdc4d206a8f14c73da2a9ebf6030d495f
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M MANIFEST
M Porting/README.pod
M Porting/acknowledgements.pl
R Porting/checkAUTHORS.pl
M Porting/exec-bit.txt
M Porting/release_managers_guide.pod
M README.cygwin
M t/porting/authors.t
R t/porting/pending-author.t
Log Message:
-----------
checkAUTHORS.pl - delete and replace with updateAUTHORS.pl
updateAUTHORS.pl now can replace all the capabilities of
checkAUTHORS.pl, and checkAUTHORS.pl has a slightly different idea of
what needs to be validated, and is not aware of the
Porting/exclude_contrib.txt. Instead of teaching it to be aware and
maintaining two tools this drops checkAUTHORS.pl
In the process we move the logic for t/porting/pending-author.t into
t/porting/authors.t, by letting updateAUTHORS.pl do it as well. This is
helpful because updateAUTHORS.pl contains similar core git logic so that
it can implement some of its options.
Commit: 60b0d28631f7e7356f4724750a0555ddcd63891b
https://github.com/Perl/perl5/commit/60b0d28631f7e7356f4724750a0555ddcd63891b
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M .mailmap
M AUTHORS
M Porting/exclude_contrib.txt
M pod/perl5340delta.pod
Log Message:
-----------
AUTHORS, .mailmap - resolve issue #20010
Contributor has requested they be excluded from our contributor
databases.
Commit: 3f1d1928e1d2309bee113f4b2fb0a8975b9efb60
https://github.com/Perl/perl5/commit/3f1d1928e1d2309bee113f4b2fb0a8975b9efb60
Author: Yves Orton <[email protected]>
Date: 2022-08-12 (Fri, 12 Aug 2022)
Changed paths:
M Porting/exclude_contrib.txt
M Porting/updateAUTHORS.pm
Log Message:
-----------
updateAUTHORS.pm - regenerate exclude_contrib properly, sort contents
Use the same general strategy to detect if we need to update the
exclude_contrib.txt as we do for the other files (eg rewrite the file in
full and then compare old and new) so we can handle items being deleted
(coming in a later commit). This is required if want to let the tool
remove exclusion entries properly, the old Q&D exclusion logic was
append only.
Compare: https://github.com/Perl/perl5/compare/db4f96f24658...3f1d1928e1d2