)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"17c8b1cc1d4e479f59b9eceaa14896c71c52adf9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     songwenping \u003csongwenping@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-08-17 16:22:28 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Optimize microversion support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If2a2bc8178a6ee073f9e7cc6ac65df51f3034fa2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9f560f44_944de3c5","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":29},"updated":"2020-08-26 11:37:36.000000000","message":"hi wenping, soft -1 for the missing commit message.\nplease add some description here to state why we need this change.\nBrin\u0027s comments might be a good reference.","commit_id":"15a2356647bb51c158816f2654837b8d77843624"}],"cyborg/api/controllers/v2/arqs.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"fb8ea62ede017ee3a96cde06ccf488cf0fb3e938","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        valid_fields \u003d {\u0027hostname\u0027: None,"},{"line_number":259,"context_line":"                        \u0027device_rp_uuid\u0027: None,"},{"line_number":260,"context_line":"                        \u0027instance_uuid\u0027: None}"},{"line_number":261,"context_line":"        if utils.allow_project_id():"},{"line_number":262,"context_line":"            valid_fields[\u0027project_id\u0027] \u003d None"},{"line_number":263,"context_line":"        if ((not all(p[\u0027op\u0027] \u003d\u003d \u0027add\u0027 for p in patch)) and"},{"line_number":264,"context_line":"           (not all(p[\u0027op\u0027] \u003d\u003d \u0027remove\u0027 for p in patch))):"},{"line_number":265,"context_line":"            raise exception.PatchError("}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_7fefe786","line":262,"range":{"start_line":261,"start_character":8,"end_line":262,"end_character":45},"updated":"2020-08-17 07:09:35.000000000","message":"move to this judgement to  58a44895d261e33715a0d37cf1a2b0b45bb03fb7","commit_id":"9fb5b411d795db4dfa457e4fbf9d8043c8b1200c"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"fb8ea62ede017ee3a96cde06ccf488cf0fb3e938","unresolved":false,"context_lines":[{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        for p in patch:"},{"line_number":269,"context_line":"            path \u003d p[\u0027path\u0027].lstrip(\u0027/\u0027)"},{"line_number":270,"context_line":"            if path \u003d\u003d \u0027project_id\u0027 and not utils.allow_project_id():"},{"line_number":271,"context_line":"                raise exception.NotAcceptable()"},{"line_number":272,"context_line":"            if path not in valid_fields.keys():"},{"line_number":273,"context_line":"                reason \u003d \u0027Invalid path in patch {}\u0027.format(p[\u0027path\u0027])"},{"line_number":274,"context_line":"                raise exception.PatchError(reason\u003dreason)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f560f44_ff02d73d","line":271,"range":{"start_line":270,"start_character":12,"end_line":271,"end_character":47},"updated":"2020-08-17 07:09:35.000000000","message":"ditto.","commit_id":"9fb5b411d795db4dfa457e4fbf9d8043c8b1200c"}],"cyborg/api/controllers/v2/versions.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2b49528adc13f4dbd7153b1c9e7b6e4f2b1f8f60","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# String representations of the minor and maximum versions"},{"line_number":38,"context_line":"_MIN_VERSION_STRING \u003d \u0027{}.{}\u0027.format(BASE_VERSION, MINOR_0_INITIAL_VERSION)"},{"line_number":39,"context_line":"_MAX_VERSION_STRING \u003d \u0027{}.{}\u0027.format(BASE_VERSION, MINOR_MAX_VERSION)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def service_type_string():"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_859a6ec2","line":39,"updated":"2020-08-17 09:27:55.000000000","message":"This way is better than use version number, that we can record the microversion change history.\n\nI this architecture, if we need to add a microversion, we can add a constant parameter in Line27 and update the MINOR_MAX_VERSION.","commit_id":"15a2356647bb51c158816f2654837b8d77843624"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"8fb85bf52d87b003afa564039340e789f48492f6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#   explanation of what changed in the new version"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"MINOR_MAX_VERSION \u003d MINOR_0_INITIAL_VERSION"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# String representations of the minor and maximum versions"},{"line_number":38,"context_line":"_MIN_VERSION_STRING \u003d \u0027{}.{}\u0027.format(BASE_VERSION, MINOR_0_INITIAL_VERSION)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_7938f69e","line":35,"range":{"start_line":35,"start_character":19,"end_line":35,"end_character":43},"updated":"2020-08-27 01:34:22.000000000","message":"Hi wenping. I think this should be 0. Good patch.\n\nIf we refactor this part like watcher\u0027s code:https://github.com/openstack/watcher/blob/master/watcher/api/controllers/v1/versions.py#L20-L34\n\nI think will be better.","commit_id":"9179ed3053862c1b636a80bf97269e6d90b8ae0f"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"f8d92f6ae092f0dea687e4f2cd868efe25614906","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#   explanation of what changed in the new version"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"MINOR_MAX_VERSION \u003d MINOR_0_INITIAL_VERSION"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# String representations of the minor and maximum versions"},{"line_number":38,"context_line":"_MIN_VERSION_STRING \u003d \u0027{}.{}\u0027.format(BASE_VERSION, MINOR_0_INITIAL_VERSION)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_dd600d04","line":35,"range":{"start_line":35,"start_character":19,"end_line":35,"end_character":43},"in_reply_to":"9f560f44_7938f69e","updated":"2020-08-27 05:55:36.000000000","message":"Aha, i refer to ironic\u0027s style: https://opendev.org/openstack/ironic/src/branch/master/ironic/api/controllers/v1/versions.py#L184\nthey are same purpose.","commit_id":"9179ed3053862c1b636a80bf97269e6d90b8ae0f"},{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"989c3ed01caf321f76427e100a7fe5d2294e7eb2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#   explanation of what changed in the new version"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"MINOR_MAX_VERSION \u003d MINOR_0_INITIAL_VERSION"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# String representations of the minor and maximum versions"},{"line_number":38,"context_line":"_MIN_VERSION_STRING \u003d \u0027{}.{}\u0027.format(BASE_VERSION, MINOR_0_INITIAL_VERSION)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_e33c54c9","line":35,"range":{"start_line":35,"start_character":19,"end_line":35,"end_character":43},"in_reply_to":"9f560f44_dd600d04","updated":"2020-08-27 08:00:45.000000000","message":"Ok.","commit_id":"9179ed3053862c1b636a80bf97269e6d90b8ae0f"}],"cyborg/api/rest_api_version_history.rst":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"fb8ea62ede017ee3a96cde06ccf488cf0fb3e938","unresolved":false,"context_lines":[{"line_number":6,"context_line":"verbose one which has enough information to be suitable for use in"},{"line_number":7,"context_line":"user documentation."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"2.1"},{"line_number":10,"context_line":"--------------------"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Add project_id for arq."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"2.0"},{"line_number":15,"context_line":"---"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f560f44_df4f13bc","line":12,"range":{"start_line":9,"start_character":0,"end_line":12,"end_character":23},"updated":"2020-08-17 07:09:35.000000000","message":"You should move this under the 2.0, e.g. Line29.","commit_id":"9fb5b411d795db4dfa457e4fbf9d8043c8b1200c"}]}
