)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"1f10ac6ff7bb3e2df80461b7128705ef3d86d5a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"94f4c627_fdd5855c","updated":"2025-08-13 13:54:44.000000000","message":"Aha, here: https://review.opendev.org/c/openstack/pbr/+/954048/10/pbr/_compat/commands.py#299","commit_id":"727fe8ac20214bd62575079ee7e44e414364ccf4"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"4c723d59278ebe5407bef5a1707711d51bb17228","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e71a8a10_1bd81c3e","updated":"2025-08-13 13:16:52.000000000","message":"reasonably sure this is a temporary solution at best","commit_id":"727fe8ac20214bd62575079ee7e44e414364ccf4"}],"zuul/_setup_hook.py":[{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"9158b4a428776635d4b56b35b95eb98650c0a176","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def _from_git(distribution):"},{"line_number":41,"context_line":"    _build_javascript()"},{"line_number":42,"context_line":"    option_dict \u003d distribution.get_option_dict(\u0027pbr\u0027)"},{"line_number":43,"context_line":"    changelog \u003d git._iter_log_oneline()"},{"line_number":44,"context_line":"    if changelog:"},{"line_number":45,"context_line":"        changelog \u003d git._iter_changelog(changelog)"},{"line_number":46,"context_line":"    git.write_git_changelog(option_dict\u003doption_dict, changelog\u003dchangelog)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1441df08_ec70c487","line":43,"range":{"start_line":43,"start_character":20,"end_line":43,"end_character":39},"updated":"2025-08-13 13:18:27.000000000","message":"note that this is still relying on internals here, swapping one internal with another...","commit_id":"727fe8ac20214bd62575079ee7e44e414364ccf4"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"eb25b406d65b456c16431aae380f4a9834ae729a","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import pbr._compat.commands"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"_old_from_git \u003d pbr._compat.commands._from_git"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def _build_javascript():"}],"source_content_type":"text/x-python","patch_set":2,"id":"36c94b5c_4e904052","line":21,"updated":"2025-08-13 15:57:21.000000000","message":"For maximum compatibility with old and new versions of git we should probably try to import _from_git from both the old and new location (with a preference for the new location if present).","commit_id":"e1c4ebd0a8b5ccfe3377c57be95ff3b87d8231f8"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"60fbe87df3528ec95fbf5fedb5ace7deec6054de","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"import pbr._compat.commands"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"_old_from_git \u003d pbr._compat.commands._from_git"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"def _build_javascript():"}],"source_content_type":"text/x-python","patch_set":2,"id":"f88c8b4e_92ea2cec","line":21,"in_reply_to":"36c94b5c_4e904052","updated":"2025-08-13 17:14:00.000000000","message":"Done","commit_id":"e1c4ebd0a8b5ccfe3377c57be95ff3b87d8231f8"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"eb25b406d65b456c16431aae380f4a9834ae729a","unresolved":true,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def setup_hook(config):"},{"line_number":47,"context_line":"    pbr.packaging._from_git \u003d _from_git"}],"source_content_type":"text/x-python","patch_set":2,"id":"394ed82f_eb44b428","line":47,"updated":"2025-08-13 15:57:21.000000000","message":"I wonder if we can just call _build_javascript() from this setup_hook() and avoid the indirection to call it later via LocalSDist() within PBR.","commit_id":"e1c4ebd0a8b5ccfe3377c57be95ff3b87d8231f8"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"e57008012c4ed6d098ef74bb2ba50d469f28efa7","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"def setup_hook(config):"},{"line_number":47,"context_line":"    pbr.packaging._from_git \u003d _from_git"}],"source_content_type":"text/x-python","patch_set":2,"id":"163d3beb_8a6edce6","line":47,"in_reply_to":"394ed82f_eb44b428","updated":"2025-08-13 17:29:06.000000000","message":"This is being explored in another change but will need additional testing to be confident in it.","commit_id":"e1c4ebd0a8b5ccfe3377c57be95ff3b87d8231f8"}]}
