)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"aabf154f78c7deb7819b931756e3d70802690e5e","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Wael Halbawi \u003cwhalbawi@nvidia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-11 16:42:26 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"sq: Improve relinker test assertions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Strengthens the assertions (previously relaxed in [1]) in"},{"line_number":10,"context_line":"TestRelinker::test_state_file. The test now asserts that the step"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5c376ec2_52b5c4a3","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"updated":"2026-02-12 10:59:47.000000000","message":"We often use a ``sq`` prefix to indicate that the intention is for this to be squashed into the parent. Very often that is when a different author is suggesting a change to the original author - \"squash this in if you like it\".\n\nIn this case, the parent patch has +2A and is *going to merge* without this patch (except the current issue with zuul jobs failing is preventing that). So normally I\u0027d suggest removing the ``sq`` and let this be a commit to master in its own right.","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"cb8fb513b5136b9bda4abdf7b4f6d4f5ee83cc97","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Wael Halbawi \u003cwhalbawi@nvidia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-11 16:42:26 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"sq: Improve relinker test assertions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Strengthens the assertions (previously relaxed in [1]) in"},{"line_number":10,"context_line":"TestRelinker::test_state_file. The test now asserts that the step"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d9329254_c58fe6e3","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"in_reply_to":"15e9a717_893b1197","updated":"2026-02-14 17:33:05.000000000","message":"Probably want to drop the `sq:` prefix, though.","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"c033c402428eed5e15a236204ccacd016528bbf2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Wael Halbawi \u003cwhalbawi@nvidia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-11 16:42:26 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"sq: Improve relinker test assertions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Strengthens the assertions (previously relaxed in [1]) in"},{"line_number":10,"context_line":"TestRelinker::test_state_file. The test now asserts that the step"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"15e9a717_893b1197","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"in_reply_to":"43db3768_779f8d6c","updated":"2026-02-12 18:14:15.000000000","message":"Done","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"2f6be3a6b53831dabf1b4a72a440cc520b997fa7","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Wael Halbawi \u003cwhalbawi@nvidia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-11 16:42:26 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"sq: Improve relinker test assertions"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Strengthens the assertions (previously relaxed in [1]) in"},{"line_number":10,"context_line":"TestRelinker::test_state_file. The test now asserts that the step"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"43db3768_779f8d6c","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":4},"in_reply_to":"5c376ec2_52b5c4a3","updated":"2026-02-12 18:13:36.000000000","message":"Ah! I thought it meant \"software quality\" :)","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"aabf154f78c7deb7819b931756e3d70802690e5e","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"[1] I046c4837a638d097649688db39455fb089fa7007"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Depends-On: https://review.opendev.org/c/openstack/swift/+/975552"},{"line_number":16,"context_line":"Change-Id: I4449e8fded45b74db4463008c9839a33b48ffd17"},{"line_number":17,"context_line":"Signed-off-by: Wael Halbawi \u003cwhalbawi@nvidia.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5e88f260_e2ae469b","line":15,"updated":"2026-02-12 10:59:47.000000000","message":"This tag is only necessary when the dependency is across projects. \nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#cross-repository-dependencies\n\nOtherwise, within a repo, the dependency is implicit in this patch being based on the parent patch.\n\nIn other words, if you have dependent patches within a repo, they *should* be based on each other in a patch chain.","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"2f6be3a6b53831dabf1b4a72a440cc520b997fa7","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"[1] I046c4837a638d097649688db39455fb089fa7007"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Depends-On: https://review.opendev.org/c/openstack/swift/+/975552"},{"line_number":16,"context_line":"Change-Id: I4449e8fded45b74db4463008c9839a33b48ffd17"},{"line_number":17,"context_line":"Signed-off-by: Wael Halbawi \u003cwhalbawi@nvidia.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"6d6bf96d_c77b83d6","line":15,"in_reply_to":"5e88f260_e2ae469b","updated":"2026-02-12 18:13:36.000000000","message":"Acknowledged","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"cb8fb513b5136b9bda4abdf7b4f6d4f5ee83cc97","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"[1] I046c4837a638d097649688db39455fb089fa7007"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Depends-On: https://review.opendev.org/c/openstack/swift/+/975552"},{"line_number":16,"context_line":"Change-Id: I4449e8fded45b74db4463008c9839a33b48ffd17"},{"line_number":17,"context_line":"Signed-off-by: Wael Halbawi \u003cwhalbawi@nvidia.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d5a478d7_b8ae4ce7","line":15,"in_reply_to":"6d6bf96d_c77b83d6","updated":"2026-02-14 17:33:05.000000000","message":"Every now and then it\u0027s useful within a single project. Suppose you\u0027ve got three changes: A, B, and C. A and B are each independent, and don\u0027t conflict, so put them each up and see which you can get merged first. But C depends on *both* A and B -- so pick one to stack it on, and add a `Depends-On:` for the other.","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"2f6be3a6b53831dabf1b4a72a440cc520b997fa7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"48b5df80_f088bc68","updated":"2026-02-12 18:13:36.000000000","message":"Thanks for the review!","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"1b3bd8a554b83c8fb65d9df969c7d0e49cab888b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"33550688_4f3b52f5","updated":"2026-02-14 19:59:04.000000000","message":"recheck","commit_id":"8102529824463b7c465d80a6d1a63eeef6531e25"}],"test/unit/cli/test_relinker.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"493f633d381578325925940a32967c5c182fe3de","unresolved":true,"context_lines":[{"line_number":3008,"context_line":"        os.close(r.dev_lock)  # Release the lock"},{"line_number":3009,"context_line":""},{"line_number":3010,"context_line":"        # Start cleanup -- note that part_power and next_part_power now match!"},{"line_number":3011,"context_line":"        r \u003d _create_relinker(relinker.STEP_CLEANUP)"},{"line_number":3012,"context_line":"        r.states \u003d {"},{"line_number":3013,"context_line":"            \"part_power\": PART_POWER + 1,"},{"line_number":3014,"context_line":"            \"next_part_power\": PART_POWER + 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a3363d4_8eda1283","line":3011,"updated":"2026-02-12 10:43:02.000000000","message":"I like that there is now a fresh Relinker instance for the cleanup step, so no state is preserved between steps. That better reflects the real behaviour. We don\u0027t re-use the same Relinker for relink and then cleanup.","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"},{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"c033c402428eed5e15a236204ccacd016528bbf2","unresolved":false,"context_lines":[{"line_number":3008,"context_line":"        os.close(r.dev_lock)  # Release the lock"},{"line_number":3009,"context_line":""},{"line_number":3010,"context_line":"        # Start cleanup -- note that part_power and next_part_power now match!"},{"line_number":3011,"context_line":"        r \u003d _create_relinker(relinker.STEP_CLEANUP)"},{"line_number":3012,"context_line":"        r.states \u003d {"},{"line_number":3013,"context_line":"            \"part_power\": PART_POWER + 1,"},{"line_number":3014,"context_line":"            \"next_part_power\": PART_POWER + 1,"}],"source_content_type":"text/x-python","patch_set":1,"id":"41d2e105_30aa92d6","line":3011,"in_reply_to":"3a3363d4_8eda1283","updated":"2026-02-12 18:14:15.000000000","message":"Acknowledged","commit_id":"478c529f348a8e0432c99dbc12ceb5e984765514"}]}
