)]}'
{"id":"openstack%2Freleases~995270","triplet_id":"openstack%2Freleases~master~I59cea957a04890edd1530d31cc5c37071fba3387","project":"openstack/releases","branch":"master","topic":"fix-stable-branch-exists","attention_set":{},"removed_from_attention_set":{"308":{"account":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"last_update":"2026-07-04 10:49:05.000000000","reason":"\u003cGERRIT_ACCOUNT_308\u003e replied on the change","reason_account":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"}},"17685":{"account":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"last_update":"2026-07-03 13:37:16.000000000","reason":"\u003cGERRIT_ACCOUNT_17685\u003e replied on the change","reason_account":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},"23851":{"account":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"last_update":"2026-07-04 11:06:25.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I59cea957a04890edd1530d31cc5c37071fba3387","subject":"Fix branch resolution to use release-id instead of series name","status":"MERGED","created":"2026-06-29 09:24:28.000000000","updated":"2026-07-06 07:53:35.000000000","submitted":"2026-07-04 11:06:25.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":16,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"995270-fix-stable-branch-exists","meta_rev_id":"5c2b955c1237475474d01932b385a09b79fda10b","_number":995270,"virtual_id_number":995270,"owner":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-07-04 11:06:25.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":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"all":[{"value":2,"date":"2026-07-04 10:49:05.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":2,"date":"2026-07-03 13:37:16.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"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":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"all":[{"value":1,"date":"2026-07-04 10:49:05.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"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},"PTL-Approved":{"approved":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"all":[{"value":1,"date":"2026-07-04 10:49:05.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"value":0,"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{" 0":"Not approved yet","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-29 09:41:58.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"},{"updated":"2026-07-02 11:08:09.000000000","updated_by":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"reviewer":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"state":"REVIEWER"},{"updated":"2026-07-02 15:19:15.000000000","updated_by":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"reviewer":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"state":"REVIEWER"}],"messages":[{"id":"f115132ed134288941f5d167a8b8139a8808ba85","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-06-29 09:24:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"2f6ffc5b0046e2040964e25a50f783075b5eb016","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-29 09:41:58.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1eb2d38f95e54868b9ce5fef7dd76f0e\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a14a7f6b38914624b1f4363b69e413ba : SUCCESS in 3m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/faf8aea078a344e69d3d8f199e7a50ec : SUCCESS in 5m 01s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/a9f11a387568441585d370df5c50bcf5 : SUCCESS in 4m 55s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/82b42e4c56854162a55c6ae50c87bb9a : SUCCESS in 5m 24s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/77d98161b12449f9beb3eb236a39e5af : SUCCESS in 5m 51s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e376ca7dc15f4d549383bc9250a1332c : SUCCESS in 4m 19s\n- releases-tox-validate https://zuul.opendev.org/t/openstack/build/d17efe9964fb487c8fc88f075c08ed2e : SUCCESS in 6m 12s\n- releases-tox-list-changes https://zuul.opendev.org/t/openstack/build/570966acaead43cfb9a7ea3acc516e44 : SUCCESS in 2m 17s\n- openstack-tox-bashate https://zuul.opendev.org/t/openstack/build/62868aaf025548f7b0a8c00370d99f91 : SUCCESS in 3m 19s","accounts_in_message":[],"_revision_number":1},{"id":"8e65731838848435bb0b77d33efbb43e86316a64","author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"date":"2026-07-02 11:08:09.000000000","message":"Patch Set 1: Code-Review+2 PTL-Approved+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"19758369f46ea453fac9c28b679bde636d3d2323","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2026-07-02 15:19:15.000000000","message":"Patch Set 1: Code-Review-1\n\n(4 comments)","accounts_in_message":[],"_revision_number":1},{"id":"45f1bc37234f43288bfe0ec2d054d76353154276","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-07-03 08:03:58.000000000","message":"Patch Set 1:\n\n(3 comments)","accounts_in_message":[],"_revision_number":1},{"id":"c590f6fcba299e29e6591c67d1a380c20ed20c9b","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-07-03 08:04:55.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Code-Review+2, Code-Review-1 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* PTL-Approved+1 (copy condition: \"changekind:NO_CODE_CHANGE OR changekind:TRIVIAL_REBASE\")\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"72e562777f1585164b2ef6b123af5e1127d9634d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-07-03 08:12:07.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"2107e3f238eb4c02370ee46ba76573787af420e0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-03 08:25:25.000000000","message":"Patch Set 3: Verified-1\n\n(6 comments)\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/1a4ba883205f4b589e94ead15aaf76ff\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/af7099ab28484264b3bfe9db5ca23f8b : FAILURE in 3m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/fa9fae5a3592401eb999ca2c9f5666fd : SUCCESS in 3m 37s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/133edeaa77694906998a2f3cd167e466 : SUCCESS in 3m 45s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/7c1a32e975074ae084ee696451cc7793 : SUCCESS in 5m 55s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/5aab9d6ecd24481d8bb3ce6e2c16e5b6 : SUCCESS in 5m 59s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/de6af8dc12e44ed084211b9a7ec2016b : SUCCESS in 7m 49s\n- releases-tox-validate https://zuul.opendev.org/t/openstack/build/666e4fa3dedc4dd399e7050774514b27 : SUCCESS in 4m 55s\n- releases-tox-list-changes https://zuul.opendev.org/t/openstack/build/a578eab99f5c44e49f413577b158564c : SUCCESS in 3m 29s\n- openstack-tox-bashate https://zuul.opendev.org/t/openstack/build/fed8a339cdbc41a58454257ddf8675ac : SUCCESS in 3m 25s","accounts_in_message":[],"_revision_number":3},{"id":"2f1054735bb77b02c537b1adf0d85d2450999cee","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-07-03 09:37:27.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":4},{"id":"632201e6830e247d326f5bf9008720bc394a6fd6","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-03 09:51:53.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/eb037ee9dff74de5ab07cd956a430b1c\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/414cb694f16449af91bfaec349f35f55 : SUCCESS in 2m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/d97adde0eb254073b91d5c15f23aae4d : SUCCESS in 2m 44s\n- openstack-tox-py312 https://zuul.opendev.org/t/openstack/build/0419ff26a9f442ff8f9f8defb86776f1 : SUCCESS in 2m 56s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/bbd6d889a6f14835b45a6ea0bf706d63 : SUCCESS in 3m 39s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/a19d3823f9164361bc427b3966407079 : SUCCESS in 5m 38s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/9eb773db725d4c63a552ba4039be2a02 : SUCCESS in 8m 36s\n- releases-tox-validate https://zuul.opendev.org/t/openstack/build/d6aa87bed8ee4ddfb94cb534825332ef : SUCCESS in 3m 36s\n- releases-tox-list-changes https://zuul.opendev.org/t/openstack/build/65a3f9b8cba748f8a6bfb1599c02c074 : SUCCESS in 3m 15s\n- openstack-tox-bashate https://zuul.opendev.org/t/openstack/build/a22b056a51424238946e601791e3f8a1 : SUCCESS in 3m 17s","accounts_in_message":[],"_revision_number":4},{"id":"d2f96d5bf5a138b7c385e62d3f083c1b6bfa5ff5","author":{"_account_id":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"},"date":"2026-07-03 13:37:16.000000000","message":"Patch Set 4: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"8791c95c0b547ae08e94748d9dd697daae769b56","author":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"},"date":"2026-07-04 10:49:05.000000000","message":"Patch Set 4: Code-Review+2 PTL-Approved+1 Workflow+1","accounts_in_message":[],"_revision_number":4},{"id":"920d929c3e3135bb9bb87aaee24c00cd8bc95f37","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-04 10:49:21.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"0f4a59f986ece563ed120b6b0f134593c53745f0","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-04 11:06:25.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/add7c7146ef44675af015139c8aaad37\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/cece1d03e15b4042adb0e0288a42679b : SUCCESS in 2m 01s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/eef63dfdb89544758293527b1a30d768 : SUCCESS in 4m 16s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/95440f1d2d9f4ca88fe857f2a50755b0 : SUCCESS in 7m 26s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/d6ce168facb64453a18b2f76a2f3d374 : SUCCESS in 2m 24s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/2d3ee138558a41a490e2e71d420d1cb1 : SUCCESS in 6m 32s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/888278eb76b541878f8cfccd84178ed6 : SUCCESS in 4m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1a3ededc850442e7b18acb9ef6ba83fc : SUCCESS in 5m 27s\n- releases-tox-validate https://zuul.opendev.org/t/openstack/build/64892cfe29b8404b87be710ea93794ac : SUCCESS in 5m 24s","accounts_in_message":[],"_revision_number":4},{"id":"0d8dfab8e3d84b4bfd08689a9fcf29e1fb4f600e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-07-04 11:06:25.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"5c2b955c1237475474d01932b385a09b79fda10b","author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"date":"2026-07-06 07:53:35.000000000","message":"Patch Set 4:\n\n(1 comment)","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"351b862a52fae8515e5c76c973e9442e6ed34459","revisions":{"fda63b989bde8b95fcdd79badf998ccde4280230":{"kind":"REWORK","_number":1,"created":"2026-06-29 09:24:28.000000000","uploader":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"ref":"refs/changes/70/995270/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/releases","ref":"refs/changes/70/995270/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/releases refs/changes/70/995270/1"}}},"commit":{"parents":[{"commit":"33dc299982c209e41f5511cfb2b14e5e66594db5","subject":"futurist 3.4.0","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/33dc299982c209e41f5511cfb2b14e5e66594db5"}]}],"author":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-06-29 09:23:57.000000000","tz":120},"committer":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-06-29 09:24:23.000000000","tz":120},"subject":"Fix stable_branch_exists to resolve series name to release-id","message":"Fix stable_branch_exists to resolve series name to release-id\n\nstable_branch_exists was checking for branches using the series name\n(e.g. stable/gazpacho) but actual branches use the release-id format\n(e.g. stable/2026.1). This caused tools like list-unreleased-changes\nto always fall back to master, comparing against the wrong tag.\n\nUpdate stable_branch_exists to use get_full_branch_name() for\nresolving the series name and return the full branch name to callers.\nApply the same fix to list_changes.py and new_release.py which had\nduplicated branch resolution logic.\n\nUpdate docs and script usage text with current examples.\n\nChange-Id: I59cea957a04890edd1530d31cc5c37071fba3387\nSigned-off-by: Riccardo Pittau \u003celfosardo@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/fda63b989bde8b95fcdd79badf998ccde4280230"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/fda63b989bde8b95fcdd79badf998ccde4280230"}]},"branch":"refs/heads/master"},"02f09ad9990b38229634ac608839f281e34884ce":{"kind":"REWORK","_number":2,"created":"2026-07-03 08:04:55.000000000","uploader":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"ref":"refs/changes/70/995270/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/releases","ref":"refs/changes/70/995270/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/releases refs/changes/70/995270/2"}}},"commit":{"parents":[{"commit":"fb40d269a2d495a4d9e52bbb0002adb0d92ea89f","subject":"Merge \"Release stevedore for Hibiscus-2 milestone\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/fb40d269a2d495a4d9e52bbb0002adb0d92ea89f"}]}],"author":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-06-29 09:23:57.000000000","tz":120},"committer":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-07-03 08:04:31.000000000","tz":120},"subject":"Fix branch resolution to use release-id instead of series name","message":"Fix branch resolution to use release-id instead of series name\n\nstable_branch_exists was checking for branches using the series name\n(e.g. stable/gazpacho) but actual branches use the release-id format\n(e.g. stable/2026.1). This caused tools like list-unreleased-changes\nto always fall back to master, comparing against the wrong tag.\n\nUpdate stable_branch_exists to use get_full_branch_name() for\nresolving the series name and return the full branch name to callers.\nApply the same fix to list_changes.py, new_release.py, and\nrelease_notes.py which had duplicated branch resolution logic.\n\nUpdate docs and script usage text with current examples.\n\nChange-Id: I59cea957a04890edd1530d31cc5c37071fba3387\nSigned-off-by: Riccardo Pittau \u003celfosardo@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/02f09ad9990b38229634ac608839f281e34884ce"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/02f09ad9990b38229634ac608839f281e34884ce"}]},"branch":"refs/heads/master"},"805705dd2ed197c942312de3e3308394621ee5fe":{"kind":"REWORK","_number":3,"created":"2026-07-03 08:12:07.000000000","uploader":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"ref":"refs/changes/70/995270/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/releases","ref":"refs/changes/70/995270/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/releases refs/changes/70/995270/3"}}},"commit":{"parents":[{"commit":"fb40d269a2d495a4d9e52bbb0002adb0d92ea89f","subject":"Merge \"Release stevedore for Hibiscus-2 milestone\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/fb40d269a2d495a4d9e52bbb0002adb0d92ea89f"}]}],"author":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-06-29 09:23:57.000000000","tz":120},"committer":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-07-03 08:11:51.000000000","tz":120},"subject":"Fix branch resolution to use release-id instead of series name","message":"Fix branch resolution to use release-id instead of series name\n\nstable_branch_exists was checking for branches using the series name\n(e.g. stable/gazpacho) but actual branches use the release-id format\n(e.g. stable/2026.1). This caused tools like list-unreleased-changes\nto always fall back to master, comparing against the wrong tag.\n\nUpdate stable_branch_exists to use get_full_branch_name() for\nresolving the series name and return the full branch name to callers.\nApply the same fix to list_changes.py, new_release.py, and\nrelease_notes.py which had duplicated branch resolution logic.\n\nAdd unit tests for stable_branch_exists covering series name\nresolution, release-id fallback, and edge cases.\n\nUpdate docs and script usage text with current examples.\n\nChange-Id: I59cea957a04890edd1530d31cc5c37071fba3387\nSigned-off-by: Riccardo Pittau \u003celfosardo@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/805705dd2ed197c942312de3e3308394621ee5fe"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/805705dd2ed197c942312de3e3308394621ee5fe"}]},"branch":"refs/heads/master"},"351b862a52fae8515e5c76c973e9442e6ed34459":{"kind":"REWORK","_number":4,"created":"2026-07-03 09:37:27.000000000","uploader":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"ref":"refs/changes/70/995270/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/releases","ref":"refs/changes/70/995270/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/releases refs/changes/70/995270/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/releases refs/changes/70/995270/4"}}},"commit":{"parents":[{"commit":"fb40d269a2d495a4d9e52bbb0002adb0d92ea89f","subject":"Merge \"Release stevedore for Hibiscus-2 milestone\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/fb40d269a2d495a4d9e52bbb0002adb0d92ea89f"}]}],"author":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-06-29 09:23:57.000000000","tz":120},"committer":{"name":"Riccardo Pittau","email":"elfosardo@gmail.com","date":"2026-07-03 09:37:18.000000000","tz":120},"subject":"Fix branch resolution to use release-id instead of series name","message":"Fix branch resolution to use release-id instead of series name\n\nstable_branch_exists was checking for branches using the series name\n(e.g. stable/gazpacho) but actual branches use the release-id format\n(e.g. stable/2026.1). This caused tools like list-unreleased-changes\nto always fall back to master, comparing against the wrong tag.\n\nUpdate stable_branch_exists to use get_full_branch_name() for\nresolving the series name and return the full branch name to callers.\nApply the same fix to list_changes.py, new_release.py, and\nrelease_notes.py which had duplicated branch resolution logic.\n\nAdd unit tests for stable_branch_exists covering series name\nresolution, release-id fallback, and edge cases.\n\nUpdate docs and script usage text with current examples.\n\nChange-Id: I59cea957a04890edd1530d31cc5c37071fba3387\nSigned-off-by: Riccardo Pittau \u003celfosardo@gmail.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/351b862a52fae8515e5c76c973e9442e6ed34459"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/releases/commit/351b862a52fae8515e5c76c973e9442e6ed34459"}]},"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":17685,"name":"Elod Illes","email":"elod.illes@est.tech","username":"elod.illes"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"}},{"label":"PTL-Approved","status":"MAY","applied_by":{"_account_id":308,"name":"Thierry Carrez","email":"thierry@openstack.org","username":"ttx"}}]}],"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":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"PTL-Approved","description":"PTL Approval","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:PTL-Approved\u003e0","fulfilled":true,"status":"PASS","passing_atoms":["label:PTL-Approved\u003e0"],"failing_atoms":[],"atom_explanations":{"label:PTL-Approved\u003e0":""}}},{"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":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"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":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
