)]}'
{"id":"openstack%2Fcliff~968814","triplet_id":"openstack%2Fcliff~master~I20f4c75fc6538615e7d1be5fc4e91568d4e8b193","project":"openstack/cliff","branch":"master","topic":"conflict-resolution","hashtags":[],"change_id":"I20f4c75fc6538615e7d1be5fc4e91568d4e8b193","subject":"Warn on duplicate commands in the same namespace","status":"MERGED","created":"2025-11-28 15:14:51.000000000","updated":"2025-11-28 18:17:07.000000000","submitted":"2025-11-28 18:16:13.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"968814-conflict-resolution","meta_rev_id":"9869a8cdfb07b7aa77d6e87b583ee0bee61559d9","_number":968814,"virtual_id_number":968814,"owner":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-11-28 18:16:13.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":2,"date":"2025-11-28 16:10:07.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"all":[{"value":1,"date":"2025-11-28 16:10:07.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-11-28 17:17:23.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"8597323fc3717bcdb688213011a97925ee151b10","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-11-28 15:14:51.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"53332445636f8ca02fa2e8644d3f03cfd72d258a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-11-28 15:44:47.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"043fe9b5f9f2ca3f571ec5844fe508a6274770b7","author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"date":"2025-11-28 16:10:07.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":2},{"id":"13018ce24ff5db54f5ba12c0ad3cb48ddcfe1b41","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-28 17:17:23.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/eb10e2a218e24f0492606cd603472918\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/40a56cb1104c4b128784a747332314d6 : SUCCESS in 1h 30m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/968e5352a21848b9a56d0fe32f42c4ec : SUCCESS in 4m 08s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/047d894ee0d44a8f87428f3699f4a05a : SUCCESS in 2m 56s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/31a0892f3fc14d38bf42b854b6259518 : SUCCESS in 5m 14s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/15056473c9554028841443e704562735 : SUCCESS in 7m 01s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dac41187445c4d7b81f6ea98c2d8894d : SUCCESS in 2m 45s\n- cliff-tox-py312-neutronclient-tip https://zuul.opendev.org/t/openstack/build/faf68c95a5af435dbfe88ea8d85f8e7e : SUCCESS in 3m 05s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/1826bb6cf4bf466fa6fc2e474bee6db9 : SUCCESS in 6m 33s","accounts_in_message":[],"_revision_number":2},{"id":"1b2bc7e67275e8ef29db69595ca956c6d05a5491","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-28 17:17:49.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"41352c89c80b7fd146673f7e41ee3a133f12d912","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-28 18:16:13.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1e6b306b6a4e46c2a523b7596f34ba38\n\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/0198af81f5a145c68a414ac8db7a2f05 : SUCCESS in 57m 54s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/9def0384c1c34110aac78d38616dafd9 : SUCCESS in 1m 41s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/0e271fcc3f494a068ad12560f861f454 : SUCCESS in 4m 23s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/6d205247042e436191114ab028c06074 : SUCCESS in 3m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/bea309ac4af5497ba7a1992ded47c9c5 : SUCCESS in 3m 10s\n- cliff-tox-py312-neutronclient-tip https://zuul.opendev.org/t/openstack/build/1b2f4a3ea81c45459b7387b0e40a5c39 : SUCCESS in 1m 56s\n- osc-tox-py312-tips https://zuul.opendev.org/t/openstack/build/ca4998f4055d4ccfb5b01769bad0fe2b : SUCCESS in 3m 53s","accounts_in_message":[],"_revision_number":2},{"id":"4254b175c00d0bf15843ebd088ff2a14848c36fa","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-28 18:16:13.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":2},{"id":"9869a8cdfb07b7aa77d6e87b583ee0bee61559d9","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-28 18:17:07.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d82d704c186842299c2ebd9a723dda7a\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/cb9fa681289c4f8d98911a136e6be71d : SUCCESS in 43s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"a0eee2b08db2bc2db315d1cc70df2eebcd9690c0","revisions":{"ebb9c8c48eb76c9e74cd360f8cffc97d2fd566ed":{"kind":"REWORK","_number":1,"created":"2025-11-28 15:14:51.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/14/968814/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/14/968814/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/968814/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/968814/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/968814/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/14/968814/1"}}},"commit":{"parents":[{"commit":"37edae702b0c1d5de2a6788e7b9fdeb9b3467684","subject":"Revert \"Implement conflict resolution\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/37edae702b0c1d5de2a6788e7b9fdeb9b3467684"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-11-28 11:18:42.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-11-28 15:12:36.000000000","tz":0},"subject":"Warn on duplicate commands in the same namespace","message":"Warn on duplicate commands in the same namespace\n\nWe intentionally do not use stevedore\u0027s conflict resolution\nfunctionality here because, unlikely stevedore, we don\u0027t care what\nextension namespace a command is defined in: if it\u0027s got the same\ncommand name then it\u0027s a duplicate regardless.\n\nChange-Id: I20f4c75fc6538615e7d1be5fc4e91568d4e8b193\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/ebb9c8c48eb76c9e74cd360f8cffc97d2fd566ed"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/ebb9c8c48eb76c9e74cd360f8cffc97d2fd566ed"}]},"branch":"refs/heads/master"},"a0eee2b08db2bc2db315d1cc70df2eebcd9690c0":{"kind":"REWORK","_number":2,"created":"2025-11-28 15:44:47.000000000","uploader":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"ref":"refs/changes/14/968814/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cliff","ref":"refs/changes/14/968814/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/968814/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/968814/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cliff refs/changes/14/968814/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cliff refs/changes/14/968814/2"}}},"commit":{"parents":[{"commit":"37edae702b0c1d5de2a6788e7b9fdeb9b3467684","subject":"Revert \"Implement conflict resolution\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/37edae702b0c1d5de2a6788e7b9fdeb9b3467684"}]}],"author":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-11-28 11:18:42.000000000","tz":0},"committer":{"name":"Stephen Finucane","email":"sfinucan@redhat.com","date":"2025-11-28 15:44:35.000000000","tz":0},"subject":"Warn on duplicate commands in the same namespace","message":"Warn on duplicate commands in the same namespace\n\nWe intentionally do not use stevedore\u0027s conflict resolution\nfunctionality here because, unlikely stevedore, we don\u0027t care what\nextension namespace a command is defined in: if it\u0027s got the same\ncommand name then it\u0027s a duplicate regardless.\n\nChange-Id: I20f4c75fc6538615e7d1be5fc4e91568d4e8b193\nSigned-off-by: Stephen Finucane \u003csfinucan@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/a0eee2b08db2bc2db315d1cc70df2eebcd9690c0"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cliff/commit/a0eee2b08db2bc2db315d1cc70df2eebcd9690c0"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"}}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
