)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"883d58a647171e4c8ccda554aeddc2daf9040636","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"13a3ab1f_a1aa590b","updated":"2023-04-25 08:29:31.000000000","message":"I like the idea but please see my suggestions inline.","commit_id":"5b471113926823bd177984e71a87745ad7d2b039"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"c50a92caddd9b67aed62703aefd46990c64f2c06","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f68d396b_7adb3f80","updated":"2023-04-27 10:46:15.000000000","message":"Thanks!","commit_id":"ac1ef44843e4c024880ffce4b94949ee7ceae1c2"}],"tools/normalize_acl.py":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"883d58a647171e4c8ccda554aeddc2daf9040636","unresolved":true,"context_lines":[{"line_number":12,"context_line":"#  under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# Usage: normalize_acl.py acl.config [transformation [transformation [...]]]"},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Transformations:"},{"line_number":17,"context_line":"# all Apply all transformations."},{"line_number":18,"context_line":"# 0 - dry run (default, print to stdout rather than modifying file in place)"},{"line_number":19,"context_line":"# 1 - strip/condense whitespace and sort (implied by any other transformation)"},{"line_number":20,"context_line":"# 2 - get rid of unneeded create on refs/tags"},{"line_number":21,"context_line":"# 3 - remove any project.stat{e,us} \u003d active since it\u0027s a default or a typo"},{"line_number":22,"context_line":"# 4 - strip default *.owner \u003d group Administrators permissions"},{"line_number":23,"context_line":"# 5 - sort the exclusiveGroupPermissions group lists"},{"line_number":24,"context_line":"# 6 - replace openstack-ci-admins and openstack-ci-core with infra-core"},{"line_number":25,"context_line":"# 7 - add at least one core team, if no team is defined with special suffixes"},{"line_number":26,"context_line":"#     like core, admins, milestone or Users"},{"line_number":27,"context_line":"# 8 - fix All-Projects inheritance shadowed by exclusiveGroupPermissions"},{"line_number":28,"context_line":"# 9 - Ensure submit requirements"},{"line_number":29,"context_line":"#      * functions only noblock"},{"line_number":30,"context_line":"#      * each label has a s-r block"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import re"},{"line_number":33,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":3,"id":"08836c02_e2bcf6a9","side":"PARENT","line":30,"range":{"start_line":15,"start_character":0,"end_line":30,"end_character":35},"updated":"2023-04-25 08:29:31.000000000","message":"This information is still valid and used below, I suggest to keep it - unless you merge the information fully in the help.\n\nJust checking: The help string does not include include \"all\" and \"0\".\n\nNote also that hard tabs transformation is not controlled by \"all\" / \"10\", it\u0027s always done.","commit_id":"ca7cffc2f2fa15b3580339a9673d49d55a358032"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"6155f579934f64f533800ac5dcc3903d50b1b90e","unresolved":true,"context_lines":[{"line_number":12,"context_line":"#  under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# Usage: normalize_acl.py acl.config [transformation [transformation [...]]]"},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Transformations:"},{"line_number":17,"context_line":"# all Apply all transformations."},{"line_number":18,"context_line":"# 0 - dry run (default, print to stdout rather than modifying file in place)"},{"line_number":19,"context_line":"# 1 - strip/condense whitespace and sort (implied by any other transformation)"},{"line_number":20,"context_line":"# 2 - get rid of unneeded create on refs/tags"},{"line_number":21,"context_line":"# 3 - remove any project.stat{e,us} \u003d active since it\u0027s a default or a typo"},{"line_number":22,"context_line":"# 4 - strip default *.owner \u003d group Administrators permissions"},{"line_number":23,"context_line":"# 5 - sort the exclusiveGroupPermissions group lists"},{"line_number":24,"context_line":"# 6 - replace openstack-ci-admins and openstack-ci-core with infra-core"},{"line_number":25,"context_line":"# 7 - add at least one core team, if no team is defined with special suffixes"},{"line_number":26,"context_line":"#     like core, admins, milestone or Users"},{"line_number":27,"context_line":"# 8 - fix All-Projects inheritance shadowed by exclusiveGroupPermissions"},{"line_number":28,"context_line":"# 9 - Ensure submit requirements"},{"line_number":29,"context_line":"#      * functions only noblock"},{"line_number":30,"context_line":"#      * each label has a s-r block"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import re"},{"line_number":33,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":3,"id":"2cfabf8c_f5268ad4","side":"PARENT","line":30,"range":{"start_line":15,"start_character":0,"end_line":30,"end_character":35},"in_reply_to":"08836c02_e2bcf6a9","updated":"2023-04-27 06:50:36.000000000","message":"\u003e Just checking: The help string does not include include \"all\" and \"0\".\n\nYeah the help string is just focused on a person reading it from the job failure, as run by tox.  It\u0027s not really supposed to be descriptive of the options to run the script.\n\nI admit this is kind of lame; I mean ideally this would be more like a linter and show you exactly where the problem was.  But this obviously has a long long history and nobody wants to do significant rewrites.\n\nSimilar on the tab transformation, I wasn\u0027t sure how to fit that into the number model just because of where it is in the passes now","commit_id":"ca7cffc2f2fa15b3580339a9673d49d55a358032"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"594af9733c10e7f3adb7fdb37fb734b3e8edc6f9","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#  under the License."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# Usage: normalize_acl.py acl.config [transformation [transformation [...]]]"},{"line_number":15,"context_line":"#"},{"line_number":16,"context_line":"# Transformations:"},{"line_number":17,"context_line":"# all Apply all transformations."},{"line_number":18,"context_line":"# 0 - dry run (default, print to stdout rather than modifying file in place)"},{"line_number":19,"context_line":"# 1 - strip/condense whitespace and sort (implied by any other transformation)"},{"line_number":20,"context_line":"# 2 - get rid of unneeded create on refs/tags"},{"line_number":21,"context_line":"# 3 - remove any project.stat{e,us} \u003d active since it\u0027s a default or a typo"},{"line_number":22,"context_line":"# 4 - strip default *.owner \u003d group Administrators permissions"},{"line_number":23,"context_line":"# 5 - sort the exclusiveGroupPermissions group lists"},{"line_number":24,"context_line":"# 6 - replace openstack-ci-admins and openstack-ci-core with infra-core"},{"line_number":25,"context_line":"# 7 - add at least one core team, if no team is defined with special suffixes"},{"line_number":26,"context_line":"#     like core, admins, milestone or Users"},{"line_number":27,"context_line":"# 8 - fix All-Projects inheritance shadowed by exclusiveGroupPermissions"},{"line_number":28,"context_line":"# 9 - Ensure submit requirements"},{"line_number":29,"context_line":"#      * functions only noblock"},{"line_number":30,"context_line":"#      * each label has a s-r block"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"import re"},{"line_number":33,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":3,"id":"7d31cf92_7f7996bb","side":"PARENT","line":30,"range":{"start_line":15,"start_character":0,"end_line":30,"end_character":35},"in_reply_to":"2cfabf8c_f5268ad4","updated":"2023-04-27 06:55:08.000000000","message":"Added back in for PS3 which hopefully satisfied these points","commit_id":"ca7cffc2f2fa15b3580339a9673d49d55a358032"}]}
