)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d1547bed0d0980e9830047ec8ae5a559d99eb0f3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add a new driver for Intel QAT card"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Please see the test report in https://etherpad.opendev.org/p/intel-qat-driver-test-report."},{"line_number":10,"context_line":"This patch implemented Intel QAT driver in Cyborg. The spec is already merged."},{"line_number":11,"context_line":"Please see:"},{"line_number":12,"context_line":"https://specs.openstack.org/openstack/cyborg-specs/specs/victoria/approved/qat-driver-proposal.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9f560f44_a559605c","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":90},"updated":"2020-08-18 07:46:09.000000000","message":"I know this is a temperary report result for these QAT, but do we need maintain this to a wiki? Or a file as I said in PS6, that we can claim this is a temporary report result add in Vicotoria release (2020.8), it does not mean that it is always effective.","commit_id":"5eab9ff83fa7a7188ca3ffb4387a375764c54a34"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"ede22c09a0e824fce1876cbc7e52448f023b8306","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add a new driver for Intel QAT card"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Please see the test report in https://etherpad.opendev.org/p/intel-qat-driver-test-report."},{"line_number":10,"context_line":"This patch implemented Intel QAT driver in Cyborg. The spec is already merged."},{"line_number":11,"context_line":"Please see:"},{"line_number":12,"context_line":"https://specs.openstack.org/openstack/cyborg-specs/specs/victoria/approved/qat-driver-proposal.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9f560f44_34ddf2dc","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":90},"in_reply_to":"9f560f44_a559605c","updated":"2020-08-26 15:00:50.000000000","message":"IMO, VENDOR provider should add the report result as a guidance link to such as the NOTEs column of the driver-support table[0] for users who want to use these QAT. [0]. https://docs.openstack.org/cyborg/latest/reference/support-matrix.html#driver-support\n\nemmm I have concern about etherpad, it is reachable by anyone. how about adding a page in cyborg wiki to show this report, then add the wiki link to the aforementioned driver-support table on cyborg doc page?","commit_id":"5eab9ff83fa7a7188ca3ffb4387a375764c54a34"}],"cyborg/accelerator/drivers/qat/intel/driver.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d55af617bca2754ab0a26c250ef65fe915e8e2f3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    \"\"\"Base class for QAT drivers."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"       This is just a virtual QAT drivers interface."},{"line_number":28,"context_line":"       Vedor should implement their specific drivers."},{"line_number":29,"context_line":"    \"\"\""},{"line_number":30,"context_line":"    VENDOR \u003d \"intel\""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_575f5ae4","line":28,"range":{"start_line":28,"start_character":7,"end_line":28,"end_character":12},"updated":"2020-08-18 02:34:34.000000000","message":"s/Vedor/Vendor/","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"}],"cyborg/accelerator/drivers/qat/intel/sysinfo.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"33b39ee339cf9f731a1bc6111b439970754426c6","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    if \"vfs\" not in qat:"},{"line_number":165,"context_line":"        driver_dep \u003d driver_deployable.DriverDeployable()"},{"line_number":166,"context_line":"        driver_dep.num_accelerators \u003d 1"},{"line_number":167,"context_line":"        driver_dep.attach_handle_list \u003d \\"},{"line_number":168,"context_line":"            [_generate_attach_handle(qat)]"},{"line_number":169,"context_line":"        driver_dep.name \u003d qat[\"name\"]"},{"line_number":170,"context_line":"        driver_dep.driver_name \u003d DRIVER_NAME"},{"line_number":171,"context_line":"        driver_dep.attribute_list \u003d _generate_attribute_list(qat)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_8e366450","line":168,"range":{"start_line":167,"start_character":0,"end_line":168,"end_character":42},"updated":"2020-05-21 00:04:42.000000000","message":"nit: this can be done by\n        driver_dep.attach_handle_list \u003d [\n            _generate_attach_handle(qat)]","commit_id":"6cb87db0f76e516a51fc74c4f850cedbb48327ab"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"33b39ee339cf9f731a1bc6111b439970754426c6","unresolved":false,"context_lines":[{"line_number":175,"context_line":"        for vf in qat[\"vfs\"]:"},{"line_number":176,"context_line":"            driver_dep \u003d driver_deployable.DriverDeployable()"},{"line_number":177,"context_line":"            driver_dep.num_accelerators \u003d 1"},{"line_number":178,"context_line":"            driver_dep.attach_handle_list \u003d \\"},{"line_number":179,"context_line":"                [_generate_attach_handle(vf)]"},{"line_number":180,"context_line":"            driver_dep.name \u003d vf[\"name\"]"},{"line_number":181,"context_line":"            driver_dep.driver_name \u003d DRIVER_NAME"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_ce3b3c35","line":178,"range":{"start_line":178,"start_character":44,"end_line":178,"end_character":45},"updated":"2020-05-21 00:04:42.000000000","message":"ditto","commit_id":"6cb87db0f76e516a51fc74c4f850cedbb48327ab"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"8f910a0fc8f5868b304189f3ba451828e85f91b1","unresolved":false,"context_lines":[{"line_number":179,"context_line":"                [_generate_attach_handle(vf)]"},{"line_number":180,"context_line":"            driver_dep.name \u003d vf[\"name\"]"},{"line_number":181,"context_line":"            driver_dep.driver_name \u003d DRIVER_NAME"},{"line_number":182,"context_line":"            driver_dep.attribute_list \u003d _generate_attribute_list(qat)"},{"line_number":183,"context_line":"            dep_list.append(driver_dep)"},{"line_number":184,"context_line":"    return dep_list"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_a24fb790","line":182,"range":{"start_line":182,"start_character":40,"end_line":182,"end_character":69},"updated":"2020-05-26 08:32:33.000000000","message":"repeat generate the same attribute list.","commit_id":"6cb87db0f76e516a51fc74c4f850cedbb48327ab"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"8f910a0fc8f5868b304189f3ba451828e85f91b1","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        if k \u003d\u003d \"rc\":"},{"line_number":199,"context_line":"            driver_attr \u003d driver_attribute.DriverAttribute()"},{"line_number":200,"context_line":"            driver_attr.key \u003d k"},{"line_number":201,"context_line":"            driver_attr.value \u003d qat.get(k, None)"},{"line_number":202,"context_line":"            attr_list.append(driver_attr)"},{"line_number":203,"context_line":"    return attr_list"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_02130368","line":201,"range":{"start_line":201,"start_character":32,"end_line":201,"end_character":48},"updated":"2020-05-26 08:32:33.000000000","message":"why not use `_` instead?","commit_id":"6cb87db0f76e516a51fc74c4f850cedbb48327ab"},{"author":{"_account_id":21672,"name":"Sundar Nadathur","email":"sundar.nadathur@intel.com","username":"nsundar"},"change_message_id":"0cd303d91e782201fca255b2ca1f2d3c2cee7b71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bf51134e_d7086892","updated":"2020-07-08 04:46:38.000000000","message":"This seems to have many lines of code in common with other PCI drivers. Should we move some of them to a common area?","commit_id":"148d015508add122fe711b8b06f22d27c6901223"},{"author":{"_account_id":14131,"name":"shaohef","email":"shaohe.feng@intel.com","username":"shaohefeng"},"change_message_id":"ea7b53f8d1393f8d0c12e50a8b6de17cce28c437","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f560f44_4e114152","in_reply_to":"bf51134e_986d0605","updated":"2020-08-04 03:21:26.000000000","message":"agree, maybe drivers/common/utils.py","commit_id":"148d015508add122fe711b8b06f22d27c6901223"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"4b8b4f075bface3569da8711a3d0c0d810777472","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"bf51134e_986d0605","in_reply_to":"bf51134e_d7086892","updated":"2020-07-16 03:04:05.000000000","message":"Agree. This is one topic of PTG as well. We need to continue discuss this to find out a way.https://etherpad.opendev.org/p/cyborg-victoria-goals L160.\nFor now, let\u0027s keep the same structure as the other drivers.","commit_id":"148d015508add122fe711b8b06f22d27c6901223"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d55af617bca2754ab0a26c250ef65fe915e8e2f3","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"PCI_DEVICES_PATH \u003d \"/sys/bus/pci/devices\""},{"line_number":36,"context_line":"KNOW_QATS \u003d [(\"0x8086\", \"0x37c8\")]"},{"line_number":37,"context_line":"PF \u003d \"physfn\""},{"line_number":38,"context_line":"VF \u003d \"virtfn*\""},{"line_number":39,"context_line":"INTEL_QAT_DEV_PREFIX \u003d \"intel-qat-dev\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_b71b561a","line":36,"updated":"2020-08-18 02:34:34.000000000","message":"[(\"0x8086\", \"0x37c8\")] these are *product_id* for the QAT , and are there the QAT type that this driver support?\n\nOther words, the \u0027product_id\u0027 can identify that QAT is unique, but this is limited to Intel, right?","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"801f47e65fbdfbf893fc16c119aec5cd15d5bc0d","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"PCI_DEVICES_PATH \u003d \"/sys/bus/pci/devices\""},{"line_number":36,"context_line":"KNOW_QATS \u003d [(\"0x8086\", \"0x37c8\")]"},{"line_number":37,"context_line":"PF \u003d \"physfn\""},{"line_number":38,"context_line":"VF \u003d \"virtfn*\""},{"line_number":39,"context_line":"INTEL_QAT_DEV_PREFIX \u003d \"intel-qat-dev\""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_e51518e7","line":36,"in_reply_to":"9f560f44_b71b561a","updated":"2020-08-18 06:53:22.000000000","message":"Yes, the combination of device id and vendor id indicates to one single type of device, which is QAT card in this case.","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d55af617bca2754ab0a26c250ef65fe915e8e2f3","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        lambda p: ("},{"line_number":75,"context_line":"            pci_attributes(p)[\"VENDOR\"],"},{"line_number":76,"context_line":"            pci_attributes(p)[\"PRODUCT_ID\"]"},{"line_number":77,"context_line":"        )in KNOW_QATS,"},{"line_number":78,"context_line":"        glob.glob(os.path.join(PCI_DEVICES_PATH, \"*\"))))"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_d7f7ead3","line":77,"range":{"start_line":77,"start_character":9,"end_line":77,"end_character":11},"updated":"2020-08-18 02:34:34.000000000","message":"need a white space before \u0027in\u0027.","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"81ba379ce1304bf7d563e4dd454669b0c682a61d","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"def _generate_dep_list(qat):"},{"line_number":162,"context_line":"    dep_list \u003d []"},{"line_number":163,"context_line":"    # pf without sriov enabled."},{"line_number":164,"context_line":"    if \"vfs\" not in qat:"},{"line_number":165,"context_line":"        driver_dep \u003d driver_deployable.DriverDeployable()"},{"line_number":166,"context_line":"        driver_dep.num_accelerators \u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_21f73bd7","line":163,"range":{"start_line":163,"start_character":4,"end_line":163,"end_character":31},"updated":"2020-08-13 06:35:35.000000000","message":"nit:does qat has srior enabled?","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"},{"author":{"_account_id":25738,"name":"Xinran WANG","email":"xin-ran.wang@intel.com","username":"Xinran"},"change_message_id":"6f281cda950f8d5c708e4cde1cc8fbb3e531df1a","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"def _generate_dep_list(qat):"},{"line_number":162,"context_line":"    dep_list \u003d []"},{"line_number":163,"context_line":"    # pf without sriov enabled."},{"line_number":164,"context_line":"    if \"vfs\" not in qat:"},{"line_number":165,"context_line":"        driver_dep \u003d driver_deployable.DriverDeployable()"},{"line_number":166,"context_line":"        driver_dep.num_accelerators \u003d 1"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_68dc6146","line":163,"range":{"start_line":163,"start_character":4,"end_line":163,"end_character":31},"in_reply_to":"9f560f44_21f73bd7","updated":"2020-08-14 08:05:39.000000000","message":"Yes, please refer to https://specs.openstack.org/openstack/cyborg-specs/specs/victoria/approved/qat-driver-proposal.html","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"81ba379ce1304bf7d563e4dd454669b0c682a61d","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        driver_dep.driver_name \u003d DRIVER_NAME"},{"line_number":171,"context_line":"        driver_dep.attribute_list \u003d _generate_attribute_list(qat)"},{"line_number":172,"context_line":"        dep_list \u003d [driver_dep]"},{"line_number":173,"context_line":"    # pf with sriov enabled, may have several vfs."},{"line_number":174,"context_line":"    else:"},{"line_number":175,"context_line":"        for vf in qat[\"vfs\"]:"},{"line_number":176,"context_line":"            driver_dep \u003d driver_deployable.DriverDeployable()"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_01f4b7ce","line":173,"range":{"start_line":173,"start_character":4,"end_line":173,"end_character":50},"updated":"2020-08-13 06:35:35.000000000","message":"ditto","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"ede22c09a0e824fce1876cbc7e52448f023b8306","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 Intel, Inc."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_3f6f8b28","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2020-08-26 15:00:50.000000000","message":"2020  \u003d_\u003c","commit_id":"5eab9ff83fa7a7188ca3ffb4387a375764c54a34"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"ede22c09a0e824fce1876cbc7e52448f023b8306","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        driver_dep.num_accelerators \u003d 1"},{"line_number":167,"context_line":"        driver_dep.attach_handle_list \u003d ["},{"line_number":168,"context_line":"            _generate_attach_handle(qat)]"},{"line_number":169,"context_line":"        driver_dep.name \u003d qat[\"name\"]"},{"line_number":170,"context_line":"        driver_dep.driver_name \u003d DRIVER_NAME"},{"line_number":171,"context_line":"        driver_dep.attribute_list \u003d _generate_attribute_list(qat)"},{"line_number":172,"context_line":"        dep_list \u003d [driver_dep]"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_9f905745","line":169,"range":{"start_line":169,"start_character":26,"end_line":169,"end_character":37},"updated":"2020-08-26 15:00:50.000000000","message":"deployable_name should be unique, because it will be reported to placement as the resource_provider_name(which is required by placement to be unique) So I would recommend to generate the deployable_name like \u003ccompute_node_name\u003e_\u003cpci_info[\"PCI_SLOT_NAME\"])\u003e.\nAnd hostname maybe can get like this socket.gethostname() https://review.opendev.org/#/c/714971/1/cyborg/conf/default.py","commit_id":"5eab9ff83fa7a7188ca3ffb4387a375764c54a34"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"ec42fcb81bf613fa0536ddf2daa2471e7146c9a3","unresolved":false,"context_lines":[{"line_number":166,"context_line":"        driver_dep.num_accelerators \u003d 1"},{"line_number":167,"context_line":"        driver_dep.attach_handle_list \u003d ["},{"line_number":168,"context_line":"            _generate_attach_handle(qat)]"},{"line_number":169,"context_line":"        driver_dep.name \u003d qat[\"name\"]"},{"line_number":170,"context_line":"        driver_dep.driver_name \u003d DRIVER_NAME"},{"line_number":171,"context_line":"        driver_dep.attribute_list \u003d _generate_attribute_list(qat)"},{"line_number":172,"context_line":"        dep_list \u003d [driver_dep]"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_e03f2a22","line":169,"range":{"start_line":169,"start_character":8,"end_line":169,"end_character":23},"updated":"2020-08-27 07:19:12.000000000","message":"hi Xinran, I have fixed the deployable_name for GPU, pls help to review https://review.opendev.org/#/c/748366/\nand under the same storyboard of the above patch, I also created a task for FPGA deployable_name enhancement so that you can use, please check:https://storyboard.openstack.org/#!/story/2008074","commit_id":"5eab9ff83fa7a7188ca3ffb4387a375764c54a34"},{"author":{"_account_id":24872,"name":"YumengBao","email":"yumeng_bao@yahoo.com","username":"Yumeng_Bao"},"change_message_id":"ede22c09a0e824fce1876cbc7e52448f023b8306","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            driver_dep.num_accelerators \u003d 1"},{"line_number":178,"context_line":"            driver_dep.attach_handle_list \u003d ["},{"line_number":179,"context_line":"                _generate_attach_handle(vf)]"},{"line_number":180,"context_line":"            driver_dep.name \u003d vf[\"name\"]"},{"line_number":181,"context_line":"            driver_dep.driver_name \u003d DRIVER_NAME"},{"line_number":182,"context_line":"            dep_list.append(driver_dep)"},{"line_number":183,"context_line":"    return dep_list"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_1f29e7e4","line":180,"range":{"start_line":180,"start_character":12,"end_line":180,"end_character":40},"updated":"2020-08-26 15:00:50.000000000","message":"ditto","commit_id":"5eab9ff83fa7a7188ca3ffb4387a375764c54a34"}],"cyborg/tests/unit/accelerator/drivers/qat/test_base.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"d55af617bca2754ab0a26c250ef65fe915e8e2f3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 Beijing Lenovo Software Ltd."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"},{"line_number":5,"context_line":"# a copy of the License at"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_37910648","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":1},"updated":"2020-08-18 02:34:34.000000000","message":"You can remove this.","commit_id":"add1ed8753c5261244c426a13b6d5d2d7f45fe2e"}],"ls.txt":[{"author":{"_account_id":28748,"name":"chenker","email":"chen.ke14@zte.com.cn","username":"chenke"},"change_message_id":"58add0575351ba24203e253152852e3a66fc6a96","unresolved":false,"context_lines":[{"line_number":1,"context_line":"funzip"},{"line_number":2,"context_line":"gpg-zip"},{"line_number":3,"context_line":"mzip"},{"line_number":4,"context_line":"preunzip"},{"line_number":5,"context_line":"prezip"},{"line_number":6,"context_line":"prezip-bin"},{"line_number":7,"context_line":"unzip"},{"line_number":8,"context_line":"unzipsfx"},{"line_number":9,"context_line":"zip"},{"line_number":10,"context_line":"zipcloak"},{"line_number":11,"context_line":"zipdetails"},{"line_number":12,"context_line":"zipgrep"},{"line_number":13,"context_line":"zipinfo"},{"line_number":14,"context_line":"zipnote"},{"line_number":15,"context_line":"zipsplit"}],"source_content_type":"text/plain","patch_set":3,"id":"9f560f44_303d592b","line":15,"range":{"start_line":1,"start_character":0,"end_line":15,"end_character":8},"updated":"2020-08-03 08:31:40.000000000","message":"Hello xinran. Seems this file is a temp file?","commit_id":"148d015508add122fe711b8b06f22d27c6901223"}]}
