)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db9aed45455ed2d1bbcbf771d9ff6fe859f2e5ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e1aace82_a0c57242","updated":"2025-06-26 00:13:57.000000000","message":"Sorry, I completely forgot about this patch :) I will send another patchset.","commit_id":"f3f1ff859e17506795900b46a201067ae3c33a05"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"7158d1cf8567f1564556fe0909c2406c135926f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4af914d6_509f0d3e","updated":"2024-12-18 23:28:12.000000000","message":"recheck","commit_id":"f3f1ff859e17506795900b46a201067ae3c33a05"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d8d7b15501449a97fad0f44fd969f390917266e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b3510cd6_aad53596","updated":"2025-07-03 09:37:15.000000000","message":"The gate is fixed so this should be able to merge. I have one nit inline that I\u0027d like to see addressed first though.","commit_id":"d5089489a7757bd597835892e1d9d1e884a8f07b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bab83a1fb8223d60ce444022490fdc9e71d809b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"964e702a_85221131","updated":"2025-07-16 10:09:11.000000000","message":"Let\u0027s just get this in.","commit_id":"537023d7f732f3d0ec4481e7e8fde3358087eee4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c67432ac0c8c8aa84f404b6389cf04829ac29424","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6a163c4d_f5d63ba2","updated":"2025-07-22 09:11:25.000000000","message":"Fixed the merge conflict","commit_id":"4a17dcb4800a0a7f3739228e211b4d8915c3440b"}],"pbr/tests/util.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"efcefd965326e47e0bed24d4a127049ecc3b2071","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            raise"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    try:"},{"line_number":79,"context_line":"        return shutil.rmtree(path, onexc\u003donerror)"},{"line_number":80,"context_line":"    except TypeError:"},{"line_number":81,"context_line":"        # For Python versions before 3.12"},{"line_number":82,"context_line":"        return shutil.rmtree(path, onerror\u003donerror)"}],"source_content_type":"text/x-python","patch_set":1,"id":"aa7e6ec0_25bc8bf4","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":40},"updated":"2024-07-24 00:10:50.000000000","message":"onexc has a different function parameter list. From the docs: `The deprecated onerror is similar to onexc, except that the third parameter it receives is the tuple returned from sys.exc_info().` We don\u0027t currently make use of that parameter so the impact is minimal today; however, that may not always be the case and we could introduce subtle bugs in the future if we aren\u0027t careful.\n\nShould we be more defensive and either use a new function or maybe rename onerror to onexc and change the argument list? Then eventually we\u0027ll delete the onerrror usage at the end of this file and we\u0027ll be fine?","commit_id":"f3f1ff859e17506795900b46a201067ae3c33a05"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d8d7b15501449a97fad0f44fd969f390917266e4","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            raise"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    try:"},{"line_number":79,"context_line":"        return shutil.rmtree(path, onexc\u003donerror)"},{"line_number":80,"context_line":"    except TypeError:"},{"line_number":81,"context_line":"        # For Python versions before 3.12"},{"line_number":82,"context_line":"        return shutil.rmtree(path, onerror\u003donerror)"}],"source_content_type":"text/x-python","patch_set":1,"id":"28286cdb_9f564677","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":40},"in_reply_to":"650d785d_412b7268","updated":"2025-07-03 09:37:15.000000000","message":"Done","commit_id":"f3f1ff859e17506795900b46a201067ae3c33a05"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db9aed45455ed2d1bbcbf771d9ff6fe859f2e5ab","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            raise"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    try:"},{"line_number":79,"context_line":"        return shutil.rmtree(path, onexc\u003donerror)"},{"line_number":80,"context_line":"    except TypeError:"},{"line_number":81,"context_line":"        # For Python versions before 3.12"},{"line_number":82,"context_line":"        return shutil.rmtree(path, onerror\u003donerror)"}],"source_content_type":"text/x-python","patch_set":1,"id":"650d785d_412b7268","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":40},"in_reply_to":"aa7e6ec0_25bc8bf4","updated":"2025-06-26 00:13:57.000000000","message":"Yes, I will rename the function to \"onexc\". The docs mention:\n\n\"The first parameter, function, is the function which raised the exception; it depends on the platform and implementation. The second parameter, path, will be the path name passed to function. The third parameter, excinfo, is the exception that was raised.\" so I think the name of the third parameter is already ok.\n\nOnce we stop supporting Python 3.12, we can indeed just delete the onerror usage.","commit_id":"f3f1ff859e17506795900b46a201067ae3c33a05"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d8d7b15501449a97fad0f44fd969f390917266e4","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            raise"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    try:"},{"line_number":79,"context_line":"        return shutil.rmtree(path, onexc\u003donexc)"},{"line_number":80,"context_line":"    except TypeError:"},{"line_number":81,"context_line":"        # For Python versions before 3.12"}],"source_content_type":"text/x-python","patch_set":2,"id":"fb2a46de_0e0bc365","line":78,"updated":"2025-07-03 09:37:15.000000000","message":"Could we check the Python version instead, with the Python 3 case first? (LBYL rather than EAFP)","commit_id":"d5089489a7757bd597835892e1d9d1e884a8f07b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f340b2ed7dd0d75a1915ed6dac7db6a3e52a38fa","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            raise"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    try:"},{"line_number":79,"context_line":"        return shutil.rmtree(path, onexc\u003donexc)"},{"line_number":80,"context_line":"    except TypeError:"},{"line_number":81,"context_line":"        # For Python versions before 3.12"}],"source_content_type":"text/x-python","patch_set":2,"id":"b1478637_dd841b89","line":78,"in_reply_to":"fb2a46de_0e0bc365","updated":"2025-07-16 15:49:32.000000000","message":"Done","commit_id":"d5089489a7757bd597835892e1d9d1e884a8f07b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f340b2ed7dd0d75a1915ed6dac7db6a3e52a38fa","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        else:"},{"line_number":76,"context_line":"            raise"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    if sys.version_info \u003e\u003d (3, 12):"},{"line_number":79,"context_line":"        return shutil.rmtree(path, onexc\u003donexc)"},{"line_number":80,"context_line":"    else:"},{"line_number":81,"context_line":"        return shutil.rmtree(path, onerror\u003donexc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9710ded3_621ee4c4","line":78,"in_reply_to":"9966a89d_85eca13b","updated":"2025-07-16 15:49:32.000000000","message":"Done","commit_id":"537023d7f732f3d0ec4481e7e8fde3358087eee4"}]}
