)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"036feefb4f06211d577189c46577450b6eaa8c5d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from Glance."},{"line_number":14,"context_line":"The patch also fixes incorrect attribute usage in exceptions"},{"line_number":15,"context_line":"that will be raising by Glance when deleting a blob from store."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"FastTrack"},{"line_number":18,"context_line":"Change-Id: Iff44304dac92b4663f9800300dca7ab631f87b9f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_6fcfde29","line":16,"updated":"2015-09-09 12:05:14.000000000","message":"IMO you should report this in launchpad which will help in tracking using #closes-bug tag","commit_id":"8d1792e32db37c188ae47fcafa0e7372a0e89dd1"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f73ecfb0b3a36d17d85bc60fb729613424011ad1","unresolved":false,"context_lines":[{"line_number":13,"context_line":"from Glance."},{"line_number":14,"context_line":"The patch also fixes incorrect attribute usage in exceptions"},{"line_number":15,"context_line":"that will be raising by Glance when deleting a blob from store."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"FastTrack"},{"line_number":18,"context_line":"Change-Id: Iff44304dac92b4663f9800300dca7ab631f87b9f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"da20952f_6242956a","line":16,"in_reply_to":"da20952f_6fcfde29","updated":"2015-09-09 12:24:52.000000000","message":"Done","commit_id":"8d1792e32db37c188ae47fcafa0e7372a0e89dd1"},{"author":{"_account_id":16683,"name":"Alexey Galkin","email":"agalkin@mirantis.com","username":"agalkin"},"change_message_id":"28dc36df66b449b0de58a958986654bb6bee2b5a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support replacing of blobs in artifacts"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The patch adds support of updating exsiting blobs in Glance."},{"line_number":10,"context_line":"Glance executes blob delete if the current blob does exist"},{"line_number":11,"context_line":"and uploads a new blob after that."},{"line_number":12,"context_line":"If the new blob value is None then Glance just deletes blob"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"da85f559_b7123557","line":9,"updated":"2015-11-13 10:04:15.000000000","message":"Please fix typo: exsiting -\u003e exsting","commit_id":"4826b383a2abe5f2477e736f0764230e4c05b53c"}],"glance/artifacts/location.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"036feefb4f06211d577189c46577450b6eaa8c5d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if prev_blob and prev_blob.item_key \u003d\u003d item_key:"},{"line_number":70,"context_line":"            blob \u003d prev_blob"},{"line_number":71,"context_line":"        else:"},{"line_number":72,"context_line":"            blob \u003d definitions.Blob(item_key\u003ditem_key)"},{"line_number":73,"context_line":"        blob_proxy \u003d self.helper.proxy(blob)"},{"line_number":74,"context_line":"        # cleanup the previous blob first or clean the value if it is none"},{"line_number":75,"context_line":"        if blob_proxy.locations:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_c229218b","line":72,"updated":"2015-09-09 12:05:14.000000000","message":"can be optimized with\n\nblob \u003d getattr(self.artifact, prop_name, None)\n\nif not (blob and blob.item_key \u003d\u003d item_key):\n    blob \u003d definitions.Blob(item_key\u003ditem_key)","commit_id":"8d1792e32db37c188ae47fcafa0e7372a0e89dd1"},{"author":{"_account_id":14676,"name":"Kairat Kushaev","email":"kkushaev@mirantis.com","username":"kairat_kushaev"},"change_message_id":"f73ecfb0b3a36d17d85bc60fb729613424011ad1","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        if prev_blob and prev_blob.item_key \u003d\u003d item_key:"},{"line_number":70,"context_line":"            blob \u003d prev_blob"},{"line_number":71,"context_line":"        else:"},{"line_number":72,"context_line":"            blob \u003d definitions.Blob(item_key\u003ditem_key)"},{"line_number":73,"context_line":"        blob_proxy \u003d self.helper.proxy(blob)"},{"line_number":74,"context_line":"        # cleanup the previous blob first or clean the value if it is none"},{"line_number":75,"context_line":"        if blob_proxy.locations:"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_e27f85a9","line":72,"in_reply_to":"da20952f_c229218b","updated":"2015-09-09 12:24:52.000000000","message":"Done","commit_id":"8d1792e32db37c188ae47fcafa0e7372a0e89dd1"}]}
