Bug 229690

Summary: [git-webkit] Relocate contributors.json
Product: WebKit Reporter: Jonathan Bedard <jbedard>
Component: Tools / TestsAssignee: Jonathan Bedard <jbedard>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, ap, dewei_zhu, ews-watchlist, glenn, rniwa, ryanhaddad, slewis, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=229712
https://bugs.webkit.org/show_bug.cgi?id=231310
https://bugs.webkit.org/show_bug.cgi?id=231707
Attachments:
Description Flags
Patch
none
Part 1
none
Part 2
none
Part 2
none
Part 3
none
Part 4
none
Part 3
none
Part 4
none
Part 5
none
Patch
none
Patch
none
Patch
none
Part 3
none
Part 4
none
Part 5
none
Patch
none
Part 5
none
Part 6
none
Part 7
none
Part 3
none
Part 4
none
Part 5
none
Part 6
none
Part 7
none
Patch for landing none

Jonathan Bedard
Reported 2021-08-30 16:09:48 PDT
contributors.json should be relocated outside of webkitpy, because it's applicable to the entire repository, and used by tooling, not part of tooling.
Attachments
Patch (169.97 KB, patch)
2021-08-30 16:22 PDT, Jonathan Bedard
no flags
Part 1 (146.31 KB, patch)
2021-08-31 10:15 PDT, Jonathan Bedard
no flags
Part 2 (2.25 KB, patch)
2021-08-31 10:28 PDT, Jonathan Bedard
no flags
Part 2 (3.60 KB, patch)
2021-08-31 10:37 PDT, Jonathan Bedard
no flags
Part 3 (2.92 KB, patch)
2021-08-31 10:46 PDT, Jonathan Bedard
no flags
Part 4 (2.84 KB, patch)
2021-08-31 10:55 PDT, Jonathan Bedard
no flags
Part 3 (2.91 KB, patch)
2021-08-31 11:03 PDT, Jonathan Bedard
no flags
Part 4 (3.76 KB, patch)
2021-08-31 11:53 PDT, Jonathan Bedard
no flags
Part 5 (6.73 KB, patch)
2021-08-31 12:13 PDT, Jonathan Bedard
no flags
Patch (134.55 KB, patch)
2021-08-31 15:22 PDT, Jonathan Bedard
no flags
Patch (134.46 KB, patch)
2021-08-31 16:02 PDT, Jonathan Bedard
no flags
Patch (160.97 KB, patch)
2021-09-01 08:23 PDT, Jonathan Bedard
no flags
Part 3 (3.46 KB, patch)
2021-09-01 16:17 PDT, Jonathan Bedard
no flags
Part 4 (2.92 KB, patch)
2021-09-01 16:24 PDT, Jonathan Bedard
no flags
Part 5 (3.75 KB, patch)
2021-09-01 16:30 PDT, Jonathan Bedard
no flags
Patch (6.72 KB, patch)
2021-09-01 16:33 PDT, Jonathan Bedard
no flags
Part 5 (3.95 KB, patch)
2021-09-01 16:50 PDT, Jonathan Bedard
no flags
Part 6 (6.72 KB, patch)
2021-09-01 16:56 PDT, Jonathan Bedard
no flags
Part 7 (131.97 KB, patch)
2021-09-01 17:04 PDT, Jonathan Bedard
no flags
Part 3 (3.83 KB, patch)
2021-09-02 09:03 PDT, Jonathan Bedard
no flags
Part 4 (2.23 KB, patch)
2021-09-02 09:09 PDT, Jonathan Bedard
no flags
Part 5 (3.97 KB, patch)
2021-09-02 09:12 PDT, Jonathan Bedard
no flags
Part 6 (3.92 KB, patch)
2021-09-02 14:04 PDT, Jonathan Bedard
no flags
Part 7 (131.99 KB, patch)
2021-09-02 17:22 PDT, Jonathan Bedard
no flags
Patch for landing (131.97 KB, patch)
2021-10-07 15:23 PDT, Jonathan Bedard
no flags
Radar WebKit Bug Importer
Comment 1 2021-08-30 16:10:20 PDT
Jonathan Bedard
Comment 2 2021-08-30 16:22:21 PDT
Jonathan Bedard
Comment 3 2021-08-30 16:36:48 PDT
Ryosuke Niwa
Comment 4 2021-08-30 17:20:07 PDT
Can we split off the inactive contributors from the top-level JSON while we're at it?
Ryosuke Niwa
Comment 5 2021-08-30 17:20:31 PDT
I also wonder if yaml would be a better fit for this file anyway. JSON is just so verbose!
Alexey Proskuryakov
Comment 6 2021-08-30 18:36:47 PDT
JSON is easier to parse in JavaScript, so probably not (bugs.webkit.org does this). Not quite sure how to best identify inactive contributors programmatically, but yes, would be nice to have fewer autocomplete suggestions in CC lists.
Aakash Jain
Comment 7 2021-08-31 08:19:33 PDT
We can also consider changing the formatting to make it compact, similar to https://commits.webkit.org/240315@main (r280725)
Jonathan Bedard
Comment 8 2021-08-31 08:38:17 PDT
(In reply to Aakash Jain from comment #7) > We can also consider changing the formatting to make it compact, similar to > https://commits.webkit.org/240315@main (r280725) Compacting contributors.json is a bit more difficult than you might think, because we have a script that re-writes contributors.json with pretty-print.
Jonathan Bedard
Comment 9 2021-08-31 10:15:40 PDT
Jonathan Bedard
Comment 10 2021-08-31 10:28:21 PDT
Jonathan Bedard
Comment 11 2021-08-31 10:37:47 PDT
Jonathan Bedard
Comment 12 2021-08-31 10:46:26 PDT
Jonathan Bedard
Comment 13 2021-08-31 10:55:49 PDT
Jonathan Bedard
Comment 14 2021-08-31 11:03:00 PDT
Jonathan Bedard
Comment 15 2021-08-31 11:53:15 PDT
Jonathan Bedard
Comment 16 2021-08-31 12:13:50 PDT
Aakash Jain
Comment 17 2021-08-31 12:23:21 PDT
Comment on attachment 436901 [details] Part 1 View in context: https://bugs.webkit.org/attachment.cgi?id=436901&action=review > ChangeLog:9 > + * metadata/contributors.json: Copied from Tools/Scripts/webkitpy/common/config/contributors.json, made into list. As I mentioned on slack, I don't think this is a good idea to modify the file and move it in single commit. As a reviewer, it's extremely hard for me to verify whether there were any mistakes while copying and editing this large file. There should be one commit which just move/copy the file without any changes in contributors.json at all (and required changes in other files), so that there isn't need to review the contents of contributors.json. There should be separate commit to change the contents of contributors.json
Jonathan Bedard
Comment 18 2021-08-31 12:51:25 PDT
Comment on attachment 436901 [details] Part 1 View in context: https://bugs.webkit.org/attachment.cgi?id=436901&action=review >> ChangeLog:9 >> + * metadata/contributors.json: Copied from Tools/Scripts/webkitpy/common/config/contributors.json, made into list. > > As I mentioned on slack, I don't think this is a good idea to modify the file and move it in single commit. As a reviewer, it's extremely hard for me to verify whether there were any mistakes while copying and editing this large file. > > There should be one commit which just move/copy the file without any changes in contributors.json at all (and required changes in other files), so that there isn't need to review the contents of contributors.json. There should be separate commit to change the contents of contributors.json I understand the sentiment (although the file was generated by validate-committer-lists, as happens when a user modifies contributors.json normally, not manually edited), but the mechanics of editing a file like contributors.json, which is accessed by services that aren't version locked, means that we need a way to determine if we're looking at a new or old version of contributors.json. The way that webkit.org, bugs.webkit.org, ewe-build.webkit.org and webkit-bot all access contributors.json is directly from it's tip-of-tree source via either svn.webkit.org or GitHub. If we don't tie the format change of contributors.json to the rename of the file, these services can't tell if they're dealing with the new file format, or the old one
Jonathan Bedard
Comment 19 2021-08-31 15:16:06 PDT
Aakash and I talked about this via slack, our rough plan is this: 1. Copy existing contributors.json 2. Refactor contributors.json 3-6. Adopt new contributors.json in services
Jonathan Bedard
Comment 20 2021-08-31 15:22:33 PDT
Aakash Jain
Comment 21 2021-08-31 15:55:48 PDT
Comment on attachment 436953 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=436953&action=review > ChangeLog:9 > + * metadata/contributors.json: Copied from Tools/Scripts/webkitpy/common/config/contributors.json. was it copied through svn cp?
Jonathan Bedard
Comment 22 2021-08-31 16:02:50 PDT
Jonathan Bedard
Comment 23 2021-08-31 16:17:33 PDT
Comment on attachment 436958 [details] Patch Sitting on this change until tomorrow
EWS
Comment 24 2021-09-01 08:10:20 PDT
Committed r281850 (241182@main): <https://commits.webkit.org/241182@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 436958 [details].
Jonathan Bedard
Comment 25 2021-09-01 08:23:33 PDT
Reopening to attach new patch.
Jonathan Bedard
Comment 26 2021-09-01 08:23:35 PDT
Aakash Jain
Comment 27 2021-09-01 09:35:34 PDT
Since multiple different improvements are being made, I feel like the improvements should be done in separate bug(s) (with an explanation for that change). Making improvement to contributors.json with a title 'Relocate contributors.json' doesn't feel right.
Jonathan Bedard
Comment 28 2021-09-01 09:42:21 PDT
(In reply to Aakash Jain from comment #27) > Since multiple different improvements are being made, I feel like the > improvements should be done in separate bug(s) (with an explanation for that > change). Making improvement to contributors.json with a title 'Relocate > contributors.json' doesn't feel right. I think this goes back to what we were discussing yesterday: the conversion from a dictionary to a list is part of the relocation when it comes to services. This is why I made a pull-request (https://github.com/WebKit/WebKit/pull/6) as well, so you can see why the changes to services need to combine the dictionary -> list change. If we try and separate the refactor of contributors.json, this is going to be nonsense. We have a sequence of changes which depend on one another, a patch series lets us clearly communicate that dependency chain.
dewei_zhu
Comment 29 2021-09-01 15:29:34 PDT
Comment on attachment 437031 [details] Patch r=me
EWS
Comment 30 2021-09-01 15:46:37 PDT
Committed r281883 (241213@main): <https://commits.webkit.org/241213@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 437031 [details].
Jonathan Bedard
Comment 31 2021-09-01 16:17:10 PDT
Reopening to attach new patch.
Jonathan Bedard
Comment 32 2021-09-01 16:17:11 PDT
Jonathan Bedard
Comment 33 2021-09-01 16:24:53 PDT
Jonathan Bedard
Comment 34 2021-09-01 16:30:06 PDT
Jonathan Bedard
Comment 35 2021-09-01 16:33:31 PDT
Jonathan Bedard
Comment 36 2021-09-01 16:50:48 PDT
Jonathan Bedard
Comment 37 2021-09-01 16:56:03 PDT
Jonathan Bedard
Comment 38 2021-09-01 17:04:33 PDT
Jonathan Bedard
Comment 39 2021-09-02 09:03:32 PDT
Aakash Jain
Comment 40 2021-09-02 09:07:12 PDT
Comment on attachment 437157 [details] Part 3 rs=me
Jonathan Bedard
Comment 41 2021-09-02 09:09:07 PDT
Jonathan Bedard
Comment 42 2021-09-02 09:12:15 PDT
Aakash Jain
Comment 43 2021-09-02 09:20:03 PDT
Comment on attachment 437158 [details] Part 4 View in context: https://bugs.webkit.org/attachment.cgi?id=437158&action=review rs=me with a comment > Websites/bugs.webkit.org/committers-autocomplete.js:27 > + var COMMITTERS_URL = 'https://svn.webkit.org/repository/webkit/trunk/metadata/contributors.json'; we should start reading it from github (like ews). from https://raw.githubusercontent.com/WebKit/WebKit/main/metadata/contributors.json
Jonathan Bedard
Comment 44 2021-09-02 09:21:41 PDT
(In reply to Aakash Jain from comment #43) > Comment on attachment 437158 [details] > Part 4 > > View in context: > https://bugs.webkit.org/attachment.cgi?id=437158&action=review > > rs=me with a comment > > > Websites/bugs.webkit.org/committers-autocomplete.js:27 > > + var COMMITTERS_URL = 'https://svn.webkit.org/repository/webkit/trunk/metadata/contributors.json'; > > we should start reading it from github (like ews). from > https://raw.githubusercontent.com/WebKit/WebKit/main/metadata/contributors. > json Agreed, but that seemed like something for a different change, this change is already more than we want it to be, I think
Aakash Jain
Comment 45 2021-09-02 09:33:11 PDT
Comment on attachment 437159 [details] Part 5 View in context: https://bugs.webkit.org/attachment.cgi?id=437159&action=review > Tools/CISupport/ews-build/steps.py:907 > + repo_root = os.path.dirname(os.path.dirname(os.path.dirname(cwd))) It's fine for now, but this method of determining repo root based on location of current file seems fragile, would be good to calculate it in some other reliable method.
EWS
Comment 46 2021-09-02 09:43:01 PDT
Committed r281932 (241241@main): <https://commits.webkit.org/241241@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 437157 [details].
Jonathan Bedard
Comment 47 2021-09-02 10:13:34 PDT
Still a few more changes to land.
EWS
Comment 48 2021-09-02 10:32:59 PDT
Committed r281936 (241245@main): <https://commits.webkit.org/241245@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 437158 [details].
Jonathan Bedard
Comment 49 2021-09-02 11:08:35 PDT
Still more changes to land.
EWS
Comment 50 2021-09-02 11:31:18 PDT
Committed r281938 (241247@main): <https://commits.webkit.org/241247@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 437159 [details].
Jonathan Bedard
Comment 51 2021-09-02 14:04:44 PDT
Reopening to attach new patch.
Jonathan Bedard
Comment 52 2021-09-02 14:04:46 PDT
Yusuke Suzuki
Comment 53 2021-09-02 14:09:19 PDT
Comment on attachment 437192 [details] Part 6 r=me Please change the running webkitbot code in the server.
EWS
Comment 54 2021-09-02 15:00:04 PDT
Committed r281956 (241263@main): <https://commits.webkit.org/241263@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 437192 [details].
Jonathan Bedard
Comment 55 2021-09-02 17:22:32 PDT
Reopening to attach new patch.
Jonathan Bedard
Comment 56 2021-09-02 17:22:34 PDT
Jonathan Bedard
Comment 57 2021-09-02 17:23:47 PDT
Comment on attachment 437222 [details] Part 7 Last one!
dewei_zhu
Comment 58 2021-10-07 14:42:33 PDT
Comment on attachment 437157 [details] Part 3 r=me
dewei_zhu
Comment 59 2021-10-07 14:44:00 PDT
Comment on attachment 437222 [details] Part 7 r=me
Jonathan Bedard
Comment 60 2021-10-07 15:23:24 PDT
Created attachment 440546 [details] Patch for landing
EWS
Comment 61 2021-10-07 15:55:41 PDT
Committed r283750 (242672@main): <https://commits.webkit.org/242672@main> All reviewed patches have been landed. Closing bug and clearing flags on attachment 440546 [details].
Note You need to log in before you can comment on or make changes to this bug.