)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"1b14b7110d4f6ebf0dc91d480fd8242398b401ce","unresolved":false,"context_lines":[{"line_number":11,"context_line":"python2.x. so we must fix this issue.we use six module"},{"line_number":12,"context_line":"to fix this issue."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"(Removed from gate queue, failing unit tests)"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: If4fd7478865e8024025af3e57e42f2a24e1e2bbc"},{"line_number":17,"context_line":"Closes-Bug: #1268439"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAUH%2F%2B45E%3D","line":14,"updated":"2014-01-21 02:35:15.000000000","message":"Thanks Jenkins!","commit_id":"df7a000dcfc84ae61eaa43ac9dc9c9917097494a"}],"glance/openstack/common/db/sqlalchemy/test_migrations.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"2963bc70c6dc4ef1f4ca8570ed10f741d8d839d4","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                                                       self.REPOSITORY))"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FIf4%3D","side":"PARENT","line":217,"updated":"2014-01-17 05:37:52.000000000","message":"what about change this line to following, since list() is nested-equivalent:\n\n    versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))\n\nbut btw, i\u0027m not sure this change is still belong with this patch if you choose my above approach.","commit_id":"bad366a6fe28d3e27b8811b3c488684ba549ebbc"},{"author":{"_account_id":9645,"name":"lizheming","email":"lizheming.li@huawei.com","username":"lizheming"},"change_message_id":"c029ea27c7ce04686822ce8a870ef7d19c66f0b5","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                                                       self.REPOSITORY))"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1)"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FIHg%3D","side":"PARENT","line":217,"in_reply_to":"AAAAUH%2F%2FIf4%3D","updated":"2014-01-17 06:37:31.000000000","message":"thanks zhi yan liu\r\nActually, in py2.x , list(range(value))\u003drange(value). I add six.PY3 only for distinguish py2.x and py3.x. maybe it is unnecessary. modify range to list(range()) can compatible  py2 and py3. so it is still  belong with this patch.","commit_id":"bad366a6fe28d3e27b8811b3c488684ba549ebbc"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"f5f27af2ce030157d45fc080237ee16b9fbe6f22","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                                                       self.REPOSITORY))"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2B9nE%3D","line":217,"updated":"2014-01-20 11:14:36.000000000","message":"This change is useless in my opinion, and it\u0027s inefficient. (But well too late, the patch was accepted).","commit_id":"5cb6d1c9988003dc719774c727e7bdef80548739"},{"author":{"_account_id":6484,"name":"Feilong Wang","email":"hustemb@gmail.com","username":"flwang"},"change_message_id":"5cfe4a95bb2bfcf2a1a65a3d8d2efbfa82d28fff","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                                                       self.REPOSITORY))"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2B8W4%3D","line":217,"in_reply_to":"AAAAUH%2F%2B9jk%3D","updated":"2014-01-20 15:07:44.000000000","message":"+1, good catch.","commit_id":"5cb6d1c9988003dc719774c727e7bdef80548739"},{"author":{"_account_id":9107,"name":"Victor Stinner","email":"vstinner@redhat.com","username":"haypo"},"change_message_id":"bca6204f8bc478709c4cdadda7685928ff660551","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                                                       self.REPOSITORY))"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2B9jk%3D","line":217,"in_reply_to":"AAAAUH%2F%2B9nE%3D","updated":"2014-01-20 11:25:35.000000000","message":"Oh by the way, this file is part of the Olso Incubator project and should not be modified directly.","commit_id":"5cb6d1c9988003dc719774c727e7bdef80548739"},{"author":{"_account_id":7884,"name":"Noboru Arai","email":"arai@mxa.nes.nec.co.jp","username":"NoboruArai"},"change_message_id":"bee2199e49c78000f944cd29f098dc23bffde610","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"},{"line_number":221,"context_line":"            self._migrate_up(engine, version, with_data\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FHwg%3D","line":218,"updated":"2014-01-17 08:42:55.000000000","message":"Let me know why  this change is necessary?\n\nIn python 3, range() returns not list but range object.\nAnd range object is sequence.\n -http://docs.python.org/dev/library/stdtypes.html\n      4.6. Sequence Types — list, tuple, range\n\nIn my understand, range object(sequence) is compatible with iteration.\n\nIf I misunderstand, I\u0027m sorry.\n\ne.g\n-------------------------------------------------\n\nPython 3.3.3 (v3.3.3:c3896275c0f6, \nNov 18 2013, 21:18:40)\n[MSC v.1600 32 bit (Intel)] on win32\nType \"copyright\", \"credits\" or \"license()\" for more information.\n\n\u003e\u003e\u003e for y in range(1,10):\n\tprint(y)\n\n\n1\n2\n3\n4\n5\n6\n7\n8\n9\n---------------------------------------------------------------------","commit_id":"5cb6d1c9988003dc719774c727e7bdef80548739"},{"author":{"_account_id":616,"name":"Mark Washenberger","email":"mark.washenberger@markwash.net","username":"markwash"},"change_message_id":"c84d34b918e63029cb2b554af0c035b282a43682","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"},{"line_number":221,"context_line":"            self._migrate_up(engine, version, with_data\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FD%2Fo%3D","line":218,"in_reply_to":"AAAAUH%2F%2FGaA%3D","updated":"2014-01-17 19:57:07.000000000","message":"Thanks for digging in Noboru","commit_id":"5cb6d1c9988003dc719774c727e7bdef80548739"},{"author":{"_account_id":7884,"name":"Noboru Arai","email":"arai@mxa.nes.nec.co.jp","username":"NoboruArai"},"change_message_id":"feeeb6005d8a4faa2067a10c5728d8adf8e5b5cf","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"},{"line_number":221,"context_line":"            self._migrate_up(engine, version, with_data\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FGaA%3D","line":218,"in_reply_to":"AAAAUH%2F%2FHms%3D","updated":"2014-01-17 13:58:21.000000000","message":"Thanks for your reply.\n\nOn reflection,  I understand that the purpose of this modification\n is that we are ready when we  must change the source \"in future\".\n\ne.g)\n  adding \"versions.append(\"a\")\"\nIn 2.x no problem because versions is list.\nIn 3.x, problem because versions is range object.\n\nAt first, I misunderstood that \"versions\" variable is used in only line 219 and 231 and it is no problem as it is.\n\nI\u0027m sory.","commit_id":"5cb6d1c9988003dc719774c727e7bdef80548739"},{"author":{"_account_id":9645,"name":"lizheming","email":"lizheming.li@huawei.com","username":"lizheming"},"change_message_id":"7b0a70fb2cc2ec784ff8f557f3634a62a4609713","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"},{"line_number":221,"context_line":"            self._migrate_up(engine, version, with_data\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FHms%3D","line":218,"in_reply_to":"AAAAUH%2F%2FHwg%3D","updated":"2014-01-17 08:57:50.000000000","message":"thanks.\r\nin python 3, range() return not list but object.\r\nif you use range not  in for loop, such as:\r\nPython 3.4.0b2 (v3.4.0b2:ba32913eb13e, Jan  5 2014, 16:23:43) [MSC v.1600 32 bit (Intel)] on win32\r\nType \"copyright\", \"credits\" or \"license()\" for more information.\r\n\u003e\u003e\u003e x\u003drange(5)\r\n\u003e\u003e\u003e print(x)\r\nrange(0, 5)\r\n\r\nyou onlu get a object. but in python2, you get a list:\r\n\u003e\u003e\u003e x\u003drange(5)\r\n\u003e\u003e\u003e print(x)\r\n[0, 1, 2, 3, 4]","commit_id":"5cb6d1c9988003dc719774c727e7bdef80548739"},{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"1b14b7110d4f6ebf0dc91d480fd8242398b401ce","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                                                       self.REPOSITORY))"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2B45Y%3D","line":217,"updated":"2014-01-21 02:35:15.000000000","message":"So we will fix this in Oslo branch right? @lizheming","commit_id":"df7a000dcfc84ae61eaa43ac9dc9c9917097494a"},{"author":{"_account_id":9645,"name":"lizheming","email":"lizheming.li@huawei.com","username":"lizheming"},"change_message_id":"201d4e32bdfca773031260af61368994bd46da81","unresolved":false,"context_lines":[{"line_number":214,"context_line":"                                                       self.REPOSITORY))"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        LOG.debug(\u0027latest version is %s\u0027 % self.REPOSITORY.latest)"},{"line_number":217,"context_line":"        versions \u003d list(range(self.INIT_VERSION + 1, self.REPOSITORY.latest + 1))"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        for version in versions:"},{"line_number":220,"context_line":"            # upgrade -\u003e downgrade -\u003e upgrade"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2B44g%3D","line":217,"in_reply_to":"AAAAUH%2F%2B45Y%3D","updated":"2014-01-21 02:37:30.000000000","message":"@zhi yan liu\r\nyes, I will fix Oslo branch later.\r\nthanks.","commit_id":"df7a000dcfc84ae61eaa43ac9dc9c9917097494a"}],"glance/tests/unit/common/test_property_utils.py":[{"author":{"_account_id":6549,"name":"Zhi Yan Liu","email":"lzy.dev@gmail.com","username":"lzy-dev"},"change_message_id":"2963bc70c6dc4ef1f4ca8570ed10f741d8d839d4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from six.moves import xrange"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from glance.api import policy"},{"line_number":18,"context_line":"from glance.common import exception"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FIeA%3D","line":15,"updated":"2014-01-17 05:37:52.000000000","message":"nit: adding a blank before this line pls","commit_id":"4f4eb640744e56f2637abef916ebd952e2184144"}]}
